系统环境:win7 64位
vs2013下,选择C++类模板,新建win32控制台工程,下一步,选择Dll工程,并勾选“导出符号”,Finish;
vs2013会自动生成一个导出的类,一个导出的方法,一个导出的变量;编译生成DLL;
在vs2013下新建QT工程;这里采用静态调用DLL方式
将生成的.dll文件拷贝到QT工程目录下,
配置QT工程属性c/c++ 附加包含目录 包含dll工程下的根目录(.h文件所在目录)
连接器 ----附件库目录 包含dll工程下的.Lib文件目录
连接器-----输入 输入xxx.dll文件名
在QT工程中需要dll类方法的文件中包含.h头文件
当要在程序中编程时,发现导出的方法和导出的变量可以使用,但是导出的类中的方法无法访问;
解决办法:将导出的类名前的XXXX_API删除
在类中需要导出的方法前增加XXXX_API字样;
重新编译,并把编译完成的.DLL文件复制到QT根目录下,其他配置不变;
发现DLL类中的方法也可以引用了;
注意:dll编译的目标框架(win32或者X86)要与引用dll的项目的目标框架一致
即x64目标框架的工程要引用编译为X64目标框架的dll;否则会出现目标计算机类型与模板计算机类型不匹配错误;