vs2013/QT5 调用C++编写的DLL类中的方法

在VS2013中创建C++ DLL工程,导出类及方法,然后在QT工程中静态调用DLL。问题在于QT工程无法访问DLL类中的方法,通过删除类名前的API标识并为导出方法添加API标识后解决问题。确保DLL与引用项目的框架一致,避免兼容性错误。
摘要由CSDN通过智能技术生成

系统环境: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;否则会出现目标计算机类型与模板计算机类型不匹配错误;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值