如图中 include( ./build_path.pri ) 的文件内就是添加了以下代码;
因为 qmake .pro 中有 system qmake .pro, 如果不控制其只能转换一次,则会出现无限循环,
电脑因线程增加而卡死。更详细可以打开此连接
# 增加 QT 转 VS
contains( CONFIG, msvc ):!exists(./msvc/qt2vs_readme.txt):{
MSVC_OUTPUT_PATH = $$replace( PWD,"/","\\")
system(mkdir $${MSVC_OUTPUT_PATH}\\msvc )
system(echo "Only run QT to vs once. If you want to run again, delete this file!">>./msvc/qt2vs_readme.txt )
system(echo "只运行一次QT转VS,如果要重新运行,删除本文件即可!">>./msvc/qt2vs_readme.txt )
# QMAKE_CXXFLAGS += -Gm
# CONFIG+=dll
contains(TEMPLATE,subdirs): {
#message(subdirs)
# system(qmake -r -spec win32-msvc2017 -tp vc -o ./msvc/) # 含子项目,指定VS版本
system(qmake -r -tp vc -o ./msvc/) # 含子项目
} else : {
# message(app)
#system(qmake -spec win32-msvc2017 -tp vc -o ./msvc/) # 不含子项目,指定VS版本
system(qmake -tp vc -o ./msvc/) # 不含子项目
}
}
如果在QT中能使用VC编译的,转换后直接在MSVC打开一样能编译运行。