我必须在一个.pro文件中做类似这样的事情:
win32 {
LIBS += -L../3rdparty/libusb-win32/lib/msvc -llibusb
} else
win64 {
LIBS += -L../3rdparty/libusb-win32/lib/msvc_x64 -llibusb
}问题是它不工作,它总是链接win32库。有什么建议吗?
发布于 2015-06-09 13:49:47
可以使用QT_ARCH变量来检测您的配置是32还是64:
contains(QT_ARCH, i386) {
message("32-bit")
}else {
message("64-bit")
}当目标是32位时,该变量返回i386,如果是64位目标,它的值为x86_64。
发布于 2011-11-04 20:35:43
2016年10月更新。下面的代码可以在Windows (至少是所有最新的MSVC编译器--没有测试MinGW)、Mac (clang)和Linux (GCC)上运行。如果不需要Qt4支持,可以省略第一个子句,直接引用QT_ARCH。
greaterThan(QT_MAJOR_VERSION, 4) {
TARGET_ARCH=$${QT_ARCH}
} else {
TARGET_ARCH=$${QMAKE_HOST.arch}
}
contains(TARGET_ARCH, x86_64) {
ARCHITECTURE = x64
} else {
ARCHITECTURE = x86
}发布于 2011-08-22 13:08:08
我们是这样做的:
win32 {
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
LIBS += ... #for win64
} else {
LIBS += ... #for win32
}
}https://stackoverflow.com/questions/6579516
复制相似问题