如何在DEV下创建属于自己的静态和动态库呢?(2018.6.6)

一、新建项目:

 

devdco studio 创建java_动态库

二、在库里面加入你的函数:(编译)

 

devdco studio 创建java_静态库_02

 

三、编译后到工程目录下查看是否产生了后缀位.a的文件(与你的项目名是一致的)

 

devdco studio 创建java_静态库_03

四、使用这个静态链接库:

1.首先新建一个.h文件到你的项目里面,.h主要是声明你刚才加入库的函数:

 

devdco studio 创建java_斜杠_04

2.接下来是比较关键的一步,将这个.h文件放到DEV的include文件目录下:

 

 

devdco studio 创建java_静态库_05

 

 

3.接下来是调用你的库了,需要新建一个控制台程序,注意不是空项目了!

 

devdco studio 创建java_斜杠_06

命名什么的随意。

4.在控制台项目导入你的静态库:

 

devdco studio 创建java_静态库_07

先不要着急编译!会报错,因为还没有跟你的静态库链接呢。

5.链接你的静态库:

 

devdco studio 创建java_静态库_08

 

右键项目属性--->参数-->添加库或者对象

 

devdco studio 创建java_斜杠_09

选择你刚才生成的.a文件:

 

 

devdco studio 创建java_动态库_10

最后一步编译运行看看吧:

 

devdco studio 创建java_动态库_11

非常完美!!!


如何生成属于自己的动态库呢?



不难,就是生成dll文件。

一、新建一个dll工程:(6.7号更新,需要改为C项目)

 

devdco studio 创建java_斜杠_12

建好之后发现给了两个文件,很人性化。我们只需将自己的函数在.h文件声明一下就可以了。

 

devdco studio 创建java_动态库_13

二、将自己的函数加入动态库:

1.首先在dll.h里面加入你的函数:

 

devdco studio 创建java_动态库_14

2.实现你的函数:

devdco studio 创建java_动态库_15

(仿照那个hellowrold)


3.好了现在可以编译看看了。编译成功后,需要到工程目录下找到2个文件:

 

devdco studio 创建java_斜杠_16

.a和.dll文件就是我们需要的,其它的别管它。

 

三、测试我们的动态库:

1. 老规矩,新建控制台程序:(不放图了,懒。)

需要注意的是最好将这个工程跟.a和.dll文件放在同一个目录下。

 2. 编写测试的cpp

 

devdco studio 创建java_动态库_17

说一下获取dll地址那,最好把测试dll这个项目跟dll文件在同一目录下,这样括号的参数直接填dll的名字就好,不然就要放dll文件的路径。注意路径的格式,需要将右斜杠改为左斜杠或者两个右斜杠。

3.链接你的动态库:

跟上面一样的。只添加.a文件即可,添加完以后编译运行。

4.运行看看:

 

devdco studio 创建java_斜杠_18

完美!

总结:首先这份教程有几点很不好,我建项目的时候使用了中文路径,建议大家不要有这种坏习惯,工程名和存放路径最好都以英文为主。在建dll的时候,我发现C++项目建立的DLL在后面测试的时候,FUNT1指针会访问到非法内存(原因暂时没找到),然后因为这个死活运行不通。后来将dll改为c项目后,完美运行。网上找了很多资料,也没见有人用C++建dll的,如果有,还有劳各位告诉在下。写得不好的地方还请见谅,毕竟小白一枚。