• 7275阅读
  • 4回复

[提问]QT怎么使用静态库 [复制链接]

上一主题 下一主题
离线soultuanz
 

只看楼主 倒序阅读 楼主  发表于: 2015-06-03
一个qt的项目,想使用crypto++的加密解密库,但是总不成功,不知道为什么?我的做法是:
下载了crypto++的源代码,然后用vs 2015编译cryptlib工程,得到一个cryptlib.lib文件。
然后在我自己的工程下面创建了一个目录/cryptopp,把cryptlib.lib拷贝到/cryptopp/lib,把源代码中的头文件全部拷贝到/cryptopp/header。
然后在qt的工程右键添加第三方库->静态库,设置库文件为cryptlib.lib,包含路径为/cryptopp/header(用的绝对路径)
然后编译一直出错no rule to make target xx/cryptopp/lib/libcryptolib.a needed by debug/xx.exe (xx.exe是最后应该生成的可执行文件的名字)

PS,代码目前没有加任何关于crypto++库的东西,在加添库之前是可以编译运行的,下载的源代码应该也没有问题,crypto++自带的使用静态库的测试程序也可以正确的跑起来。。

困扰了一天了,求解为什么。。修改
离线dbzhang800

只看该作者 1楼 发表于: 2015-06-04
你现在看到的这个错误是次要的,解决这个错误很简单。但是解决了它,你仍然不能用。(类似错误你贴 .pro其实更有效)

从你描述的内容看:crypto++ 这个库你使用VS2015编译的,而你的Qt是MinGW编译的,两个不同的C++编译器编译出的东西(C++库)是无法混用的!
离线79837383

只看该作者 2楼 发表于: 2016-01-21
您好,请问您的问题解决了吗?我也碰到这个问题了。。
离线z609932088

只看该作者 3楼 发表于: 2016-01-23
我想问一下,你都有源代码了,为社么还有编译库了,直接包含调用不就好了吗,或者直接使用Qt 打包被,为啥要用vs编译库了
有阳光的地方就是青春
离线彩阳

只看该作者 4楼 发表于: 2016-01-23
不同编译器的ABI不一样,所以不能混用。
上海Qt开发联盟,热忱地欢迎你的加入!
快速回复
限100 字节
 
上一个 下一个