美文网首页程序员
编译/构建64位MSVC2010 Qt库

编译/构建64位MSVC2010 Qt库

作者: 超级普普罗特 | 来源:发表于2020-10-01 23:16 被阅读0次

最近公司一个Windows窗体项目需要兼容调用一个第三方的,64位的dll库。
这个窗体项目是用Qt+msvc2019维护的,调用该第三方dll时,部分方法可用(dll调用成功),部分方法会抛异常。
该第三方dll是用vs2005开发的,经测试可以调用并稳定运行的VS版本为VS2010。
然而Qt官网只提供针对msvc2010的32位的版本,64位的需要自行编译。
经过在网上搜索和尝试,使用下面方法成功编译出Qt+msvc2010的64位版本的库。

这个链接提供了本文里的主要方法。

下面为编译步骤,

准备源码及编译工具

配置系统环境变量

  • 新增 QTDIR=C:\Qt\qt-everywhere-opensource-src-5.0.0\qtbase
  • 新增 QMAKESPEC=win32-msvc2010
  • 在PATH中追加
    %QTDIR%\bin;
    %QTDIR%\..\gnuwin32\bin;
    C:\Python27\DLLs;
    C:\Python27

编译

  • 运行开始菜单 - Microsoft Visual Studio 2010 - Visual Studio x64 Win64 Command Prompt (2010)
  • 执行命令 cd c:\qt\qt-everywhere-opensource-src-5.0.0
  • 执行命令 configure -prefix %CD%\qtbase -debug-and-release -opensource -platform win32-msvc2010
    中途确认操作时,输入y,然后回车。
    等待配置完成。
  • 执行命令nmake
    此处要等待相当长一段时间。我编译了4个小时以上。
  • 编译生成的文件在C:\Qt\qt-everywhere-opensource-src-5.0.0\qtbase

备注

  • 论坛中也有用jom替代nmake进行并发编译的,我用jom -j4编译最后出错了,网上说是Python的问题,这个我没有深入去探索。想尝试的话,需要自己安装一个jom
  • 其他版本的Qt,我试过5.1.1的,编译提示opengl相关文件缺失,后来就没深入研究了。
  • qt for msvc2010 32位的,官方编译好的离线安装包在这里
  • 编译出的不是Qt Creator,是Qt的库。
    Qt Creator我用的最新的,只需要在应用项目里做如下配置,
    Qt Version选择C:\Qt\qt-everywhere-opensource-src-5.0.0\qtbase\bin\qmake.exe
    Compilers选择Microsoft Visual C++ Compiler 10.0 (amd64)
    Debuggers选择C:\Program Files\Debugging Tools for Windows (x64)\cdb.exe,这个是Windows SDK 7.1安装时带的cdb。
  • Qt5.0.0应用程序发布部署参考这里
  • Qt5.15.1开发的Application配合Qt5.0.0库编译时有少量不兼容,修改为兼容的即可。
  • 我的操作系统是Win10。

相关文章

网友评论

    本文标题:编译/构建64位MSVC2010 Qt库

    本文链接:https://www.haomeiwen.com/subject/ynrvuktx.html