安装完qt-opensource-windows-x86-msvc2010-5.5.1之后,为什么空的工程都编译不了。
出现这样的问题:'rc.exe' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Qt 5怎么设置msvc2010的编译器?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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,一切完成解决 无用评论 打赏 举报
悬赏问题
- ¥20 iqoo11 如何下载安装工程模式
- ¥15 本题的答案是不是有问题
- ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
- ¥15 C++使用Gunplot
- ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
- ¥15 matlab数字图像处理频率域滤波
- ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
- ¥15 ELGamal和paillier计算效率谁快?
- ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
- ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?