qmake中的编译器范围值

Luc*_*lle 7 c++ qt scope qmake

qmake提供了几个内置的平台范围,允许项目文件根据当前平台执行不同的操作:

win32 {
    ...
}
unix {
    ...
}
Run Code Online (Sandbox Code Playgroud)

mkspecs目录中的所有平台规范也可用于测试各种平台/编译器组合,例如

linux-g++ {
    ...
}
win32-g++ {
    ...
}
win32-msvc2003 {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法找到一种只测试编译器的方法(没有os)

#This does not work
g++ {
    ...
}
msvc {
    ...
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,而无需列出所有组合(linux-g++ | win32-g++ | cygwin-g++ | ... {})?如果这是不可能的,有充分的理由吗?

小智 9

你可以这样做:

*-g++ {
    ...
}
win32-msvc* {
    ...
}
Run Code Online (Sandbox Code Playgroud)