如果Visual Studio是编译器,如何在Qt .pro文件中知道?

时间:2016-05-31 00:26:14

标签: c++ visual-studio qt qt-creator qmake

有没有办法知道Visual Studio是否是.pro文件中的编译器?

例如,有很多方法可以检测项目文件中的内容,包括操作系统或配置:

CONFIG(boost_asio) {
    DEFINES += BOOST_SOCKETS
    SOURCES += asiosocket.cpp
    LIBS += -L/usr/local/lib \
        -lboost_system
}

OTHER_FILES += 

contains(QT_VERSION, ^5\\.[0-9]\\..*) {
  SOURCES += wavreader.cpp
  HEADERS += wavreader.h
  QT += multimedia
}

include(../../Shared/Common.pri)

windows: { LIBS += -L$$bin -lzip-2 }
!windows: { LIBS += -lzip }

我想要的是提供一个适当的链接来增强mingw和boost上的库。但它们的名称类似于boost_chrono-vc120-mt-1_58,它们依赖于编译器。

有什么方法可以让我有类似的东西:

visualstudio {
   LIBS += -LC:/boost/libs -lboost_system-vc120-mt-1_58
}

一种方法是让用户告诉他在qmake的CONFIG参数中使用哪个编译器,但我认为这不是最佳解决方案。

1 个答案:

答案 0 :(得分:2)

您要检查是否正在使用MSVC,而不是Visual Studio。见这里:

Qt .pro file: how to check if I'm compiling with MSVC 2013 toolset?

qmake: Test for current spec