本文介绍了如何只为.pro文件中的Android平台指定库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用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平台指定库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 09:44