Qt Creator:如何区分win32和win64
Qt Creator: how to tell win32 from win64
我必须在。pro文件中这样做:
win32 {
LIBS += -L../3rdparty/libusb-win32/lib/msvc -llibusb
} else
win64 {
LIBS += -L../3rdparty/libusb-win32/lib/msvc_x64 -llibusb
}
问题是它不工作,它总是链接win32库。有什么建议吗?
2016年10月更新。下面的代码可以在Windows(至少与所有最近的MSVC编译器一起工作-没有测试MinGW), Mac OS X (clang)和Linux (GCC)上工作。如果您不需要Qt 4支持,请随意省略第一个子句并直接引用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
}
您可以使用QT_ARCH
变量来检测您的配置是32还是64:
contains(QT_ARCH, i386) {
message("32-bit")
}else {
message("64-bit")
}
当目标为32位时,变量返回i386
,当目标为64位时,变量返回x86_64
。
我们这样做:
win32 {
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
LIBS += ... #for win64
} else {
LIBS += ... #for win32
}
}
相关文章:
- Win32编译器选项和内存分配
- C++win32 API创建多个类似视口的窗口
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- 检测win32服务创建和删除的最佳方法
- WIN32:C++,为什么在WM_CLOSE上调用Messagebox函数程序正在冻结
- 将 win32 hbitmap 转换为 winrt softwarebitmap
- 使用 WIN32 API (C/C++) 对特定树视图项进行着色
- Alt+Enter 在 Win32 应用中,管理大小调整和分辨率
- VSCode C++ 编译的exe感染了Win32:TrojanX-gen[Trj]
- 从预处理器获取 Windows 版本(C++ Win32)
- Issues with Win32 ReadProcessMemory API
- Win32 发送输入鼠标移动滞后并冻结
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 如何从 Win32 C++ 应用程序输出到父控制台窗口?
- C++ 基于 WIN64 构建的 ADO 在 win32 操作系统上不起作用
- 哪一个是针对Win32和Win64开发的最低Visual Studio版本
- 跨Win32和Win64应用程序
- sprintf_s对win64和win32有特定的使用要求吗
- 双精度数组和结果与 WIN32 和 WIN64 上的C++不一致
- Qt Creator:如何区分win32和win64