Qt .pro文件:如何检查我是否正在使用MSVC 2013工具集进行编译?

Vio*_*ffe 9 qt qmake

我已经尝试过这种情况,但它不起作用.如何查看MSVC 2013?

win32-msvc2013*{
    QMAKE_CXXFLAGS += /FS
}
Run Code Online (Sandbox Code Playgroud)

我正在使用具有msvc-2013mkspec的Qt 5.3 Beta .

小智 14

对不起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")
    }
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*k R 7

试试这种方式:

win32-msvc* {
    system(cl|grep "Compiler Version 18.") {
        message( "msvc 2013 detected" )
        QMAKE_CXXFLAGS += /FS
    }
}
Run Code Online (Sandbox Code Playgroud)

http://qt-project.org/doc/qt-4.8/qmake-function-reference.html

无法测试我现在没有Windows机器.


And*_*rey 5

我使用以下:

contains(QMAKE_COMPILER_DEFINES, _MSC_VER=1800) { 
# MSVS2013
}
Run Code Online (Sandbox Code Playgroud)