我正在尝试制作一个qmak.pro文件,以便在RaspberryPi中编译(不是交叉编译)。我可以根据平台使用条件定义吗:
linux-g++-64: {
message(We are in Linux 64 bits)
}
macx: {
message(we are in mac osX)
}
win32: ...
但是我找不到一种方法来检测当我在PaspberryPi与raspberryPi中。
我试过像linux-arm
,arm-linux
,linux-arm-gnueabi-g++
这样的东西,但不走运。
有人知道正确的方法来创建这个条件定义,或者如何检测我们是否在RaspberryPi架构中编译?
4条答案
按热度按时间jgwigjjp1#
这对我很有效:
希望对你有用。
http://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-host
3pmvbmvn2#
当前的Raspbian OS(32位)for RPi3将
QMAKE_HOST.arch
报告为armv7l
,而较旧的board\OS可以报告armv6l
。64位版本,比如Ubuntu for RaspberryPi:
aarch64
gwbalxhn3#
好吧,看起来没有人有答案,所以我做了一个适合我的变通方法,如果它适合你,我会很高兴。
在执行qmake时,我聚合一个标志,例如
它将执行qmake recursive并将标志传递给每个.pro文件。
在.pro文件中,您可以添加以下内容:
您可以将project.pri分离到另一个文件中,并使用include(project.pri)将其包含在所有子project.pro文件中
希望能帮上忙!
qf9go6mv4#