我已经尝试过这种情况,但它不起作用。如何查看MSVC 2013?
win32-msvc2013*{
QMAKE_CXXFLAGS += /FS
}
我正在使用具有msvc-2013
mkspec的Qt 5.3 Beta。
答案 0 :(得分:13)
对于necroposting很抱歉,但似乎没有googleable解决方案。好像我找到了一个。有vcvars.bat文件,用于为VC设置正确的环境变量。例如,QtCreator在设置工具时使用它 - >选项 - >建设与发展运行 - >编译器。它也用于MSVC Command Promt。让我们在qmake中查看“VisualStudioVersion”env var(在我的情况下,MSVS 2015为14.0):
win32-msvc* {
MSVC_VER = $$(VisualStudioVersion)
equals(MSVC_VER, 14.0){
message("msvc 2015")
}
}
答案 1 :(得分:6)
尝试这种方式:
win32-msvc* {
system(cl|grep "Compiler Version 18.") {
message( "msvc 2013 detected" )
QMAKE_CXXFLAGS += /FS
}
}
http://qt-project.org/doc/qt-4.8/qmake-function-reference.html
无法测试我现在没有Windows机器。
答案 2 :(得分:4)
我使用以下内容:
contains(QMAKE_COMPILER_DEFINES, _MSC_VER=1800) {
# MSVS2013
}
答案 3 :(得分:0)
找到了简单而优雅的解决方案:
win32-msvc*: {
COMPIL = $$find(CONFIG, "^win32-msvc*")
COMPIL = $$replace(COMPIL,win32-,) # 'win32-msvc2017' -> 'msvc2017'
}
编辑:这仅适用于 Qt 5.9.0 及更高版本。只有这样才能配置win32-msvc2012
/ win32-msvc2013
/等。合并为单win32-msvc
答案 4 :(得分:-1)
检查supported platforms和参考配置表。没有msvc2013! 最新支持的视觉工作室是2012年。
因此,当检测visual studio时,不强制执行2013
sufix。
只需使用显示here