我正在尝试为 x86
编译一个项目,类似于下面的代码示例 .pro
文件。如何使用 x86 或 arm 进行编译?
x86 {
INCLUDEPATH += fo
LIBS += fo
DEFINES += CONFIG_ARM }
arm {
INCLUDEPATH += foo1
LIBS += foo2
DEFINES += CONFIG_ARM }
最佳答案
在您的 pro 文件中,以下语法应该有效:
equals(QMAKE_TARGET.arch, x86) {
message( "It's x86" )
# Add specific x86 stuff here
}
equals(QMAKE_TARGET.arch, arm) {
message( "It's armeabi-v7a" )
# Add specific arm stuff here
}
如果您的目标是 Android,QMAKE_TARGET.arch
可能会更改为 ANDROID_TARGET_ARCH
。
实际上,您应该首先使用 message
来确定在您的情况下使用的正确变量,然后在 equals
语句中使用正确的变量。例如:
message (ANDROID:$$ANDROID_TARGET_ARCH)
message (HOST:$$QMAKE_HOST)
message (HOST:$$QMAKE_HOST.arch)
message (TARGET:$$QMAKE_TARGET)
message (TARGET:$$QMAKE_TARGET.arch)
然后检查消息选项卡以查看每个变量中的内容。
关于c++ - 我如何在 Qt 中选择构建选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49271301/