问题描述
我正在尝试使用QtCreator(2.7.2)+ QT(5.1.0)来构建可在台式机(Linux)和移动(Android)平台上运行的应用程序。
I'm trying to use QtCreator (2.7.2) + QT (5.1.0) to build an application that runs on both desktop (Linux) and mobile (Android) platforms.
要实现此目的,我需要根据目标平台使用不同的预构建库。
如何在.pro文件中指定?
To achieve this, I need to use different pre-built libraries depending on the target platform.How do I specify this in the .pro file?
向导仅提供linux / mac / windows作为平台选择,例如
The wizard only offers linux/mac/windows as platform choice like
unix:!mac {
message("* Using settings for Unix/Linux.")
LIBS += -L/path/to/linux/libs
}
我尝试过
android {
message("* Using settings for Android.")
LIBS += -L/path/to/android/libs
}
但是对于两个构建目标,仅 unix :!mac
被执行/求值。
But with both build targets only the unix:!mac
gets executed/evaluated.
所以我的问题是:如何检测构建目标(在QtCreator中称为 Kits)
So my question is: How to detect the build target (called "Kits" now in QtCreator) in the .pro file and change library definitions accordingly?
到目前为止,我只发现了如何指定平台(这似乎是我正在构建的平台) ON,而不是FOR)或构建变体RELEASE / DEBUG。
我发现的其他内容是,我应在 LIB + =
之前加上目标平台,例如 win32:LIB + =
。但同样,这不适用于 android
。也许我在平台上使用了错误的语法(在arm-v7上使用的是Android 4.2)。
I've so far only found out how to specify the platform (which seems to be the platform I'm building ON and not FOR) or the build variant RELEASE/DEBUG.Other things I've found say I should prefix the LIB+=
with the target platform like win32:LIB+=
. But again, this won't work with android
. Maybe I'm using a wrong syntax for the platform (android 4.2 on an arm-v7).
推荐答案
这对我有用(Qt 5.3.2)
this works for me (Qt 5.3.2)
linux:!android {
message("* Using settings for Unix/Linux.")
LIBS += -L/path/to/linux/libs
}
android {
message("* Using settings for Android.")
LIBS += -L/path/to/android/libs
}
这篇关于如何只为.pro文件中的Android平台指定库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!