如何在 Qt .pro 文件中知道 visual studio 是否是编译器?
How to know in a Qt .pro file if visual studio is the compiler?
有没有办法知道 Visual Studio 是否是 .pro
文件中的编译器?
例如,有很多方法可以检测项目文件中的内容,包括 OS 或配置:
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 库提供一个正确的链接。但它们的名称如 boost_chrono-vc120-mt-1_58
取决于编译器。
有什么办法可以让我拥有类似的东西:
visualstudio {
LIBS += -LC:/boost/libs -lboost_system-vc120-mt-1_58
}
一种方法是让用户在 qmake 的 CONFIG
参数中说明他正在使用哪个编译器,但我认为这不是最好的解决方案。
而不是 Visual Studio,您想检查是否正在使用 MSVC。看这里:
Qt .pro file: how to check if I'm compiling with MSVC 2013 toolset?
qmake: Test for current spec
有没有办法知道 Visual Studio 是否是 .pro
文件中的编译器?
例如,有很多方法可以检测项目文件中的内容,包括 OS 或配置:
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 库提供一个正确的链接。但它们的名称如 boost_chrono-vc120-mt-1_58
取决于编译器。
有什么办法可以让我拥有类似的东西:
visualstudio {
LIBS += -LC:/boost/libs -lboost_system-vc120-mt-1_58
}
一种方法是让用户在 qmake 的 CONFIG
参数中说明他正在使用哪个编译器,但我认为这不是最好的解决方案。
而不是 Visual Studio,您想检查是否正在使用 MSVC。看这里:
Qt .pro file: how to check if I'm compiling with MSVC 2013 toolset?
qmake: Test for current spec