Keep_学习ing 2016-03-03 11:24 采纳率: 30%
浏览 6398
已结题

Qt 5怎么设置msvc2010的编译器?

安装完qt-opensource-windows-x86-msvc2010-5.5.1之后,为什么空的工程都编译不了。
出现这样的问题:'rc.exe' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

  • 写回答

2条回答

  • Crystal_Plum9 2016-03-03 11:27
    关注

    The source code is available as a zip (270 MB) or a tar.gz (219 MB) or check all installers here.从此下载并编译。
    然后,更改\qtbase\mkspecs\win32-msvc*\qmake.conf文件,把下面3行
    QMAKE_CFLAGS_RELEASE = -O2 -MD
    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
    QMAKE_CFLAGS_DEBUG = -Zi -MDd
    改为:
    QMAKE_CFLAGS_RELEASE = -O2 -MT
    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
    QMAKE_CFLAGS_DEBUG = -Zi -MTd
    并保存。
    由于Qt5官方源码包是为动态编译准备的,因此要静态编译,须对源码进行更改并重命名函数,否则会出现重定义错误。
    更改文件及重命名函数如下(注:在下把冲突函数加007,008重命名)

    \qtactiveqt\src\activeqt\shared\qaxtypes.h
    \qtactiveqt\src\activeqt\control\qaxserverbase.cpp
    \qtactiveqt\src\activeqt\container\qaxbase.cpp
    \qtactiveqt\src\activeqt\container\qaxwidget.cpp
    文件中的 QVariantToVARIANT( 一律替换为 QVariantToVARIANT007(

    \qtactiveqt\src\activeqt\shared\qaxtypes.cpp中的 QVariantToVARIANT( 替换为 QVariantToVARIANT008(

    define QVariantToVARIANT QVariantToVARIANT_server

    define QVariantToVARIANT QVariantToVARIANT_container

    分别替换为:

    define QVariantToVARIANT008 QVariantToVARIANT_server

    define QVariantToVARIANT008 QVariantToVARIANT_container

    另外还要更改2个API
    \qtactiveqt\src\activeqt\control\qaxserverdll.cpp
    STDAPI DllGetClassObject(const GUID &clsid, const GUID &iid, void** ppv)
    STDAPI DllCanUnloadNow()
    分别替换为:
    STDAPI DllGetClassObject007(const GUID &clsid, const GUID &iid, void** ppv)
    STDAPI DllCanUnloadNow007()

    一切就绪后,visual studio 命令提示进入源码文件夹,输入命令:
    configure -debug-and-release -fast -static -platform win32-msvc2010 -qt-zlib -qt-libpng -qt-libjpeg -qt-sql-sqlite -plugin-sql-sqlite -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -nomake demos -nomake examples -nomake docs -opengl desktop -mp
    然后nmake,等待编译完成.
    进入Qt Creator,点击 工具->选项->Qt 版本->添加->选择 源码文件夹\qtbase\bin\qmake.exe
    再配置Kits,一切完成

    评论

报告相同问题?

悬赏问题

  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?