QT4.8.7如何把静态编译好的32位的库和32for64位的库放在同一路径下

失散糖 2017-03-04 06:52:12
试验环境是虚拟机下的32位win10+VS2015,按照某个unofficial builds上给出的补丁成功编译出了若干组QT的4.8.7版本静态库。为了把它们集合到同一目录下,所有版本的构建目录都是用的同一个,用 -qtlibinfix s 参数给32for64位的lib加个后缀来跟32位lib区分。只是构建好之后,给目录改个名防止被其他版本冲掉。

第一组是在“VS2015 开发人员命令提示”中编译出来的纯32位的静态库,这个没问题。
第二组是在“VS2015 x86 x64 兼容工具命令提示符”中编译出来的,这个是在32位系统下构建64位程序的静态库,由于bin目录下编译出的可执行文件无法运行,所以只有用如下步骤代替:
1、configure -opensource -confirm-license -static -nomake examples -nomake demos -qtlibinfix s
2、在得到64位的qmake.exe但无法运行后提示出错,将第一组的bin目录下所有exe文件拷到现在的bin目录下,修改qmake目录中的Makefile.win32防止重新编译qmake
3、重新运行configure -opensource -confirm-license -static -nomake examples -nomake demos -qtlibinfix s
4、打开顶级的Makefile文件,把FORCE符号全部删掉
5、把系统时间拨到编译第一组的时间之前,若不这么做,bin目录下所有拷来的exe文件会因为过期而被重新编译得到的64位程序冲掉,导致无法运行
6、nmake

在命令行下编译连接都没有任何问题,问题在于在VS2015下编译,VS不认可我这个库,提示

...全文
383 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,816

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧