qmake适用于RaspberryPi

Mqu*_*iro 6 c++ linux qt qmake raspberry-pi

我正在尝试制作一个qmake .pro文件以在RaspberryPi中进行编译(不适用于交叉编译)。我可以根据平台使用条件定义:

linux-g++-64: {
    message(We are in Linux 64 bits)
}
macx: {
    message(we are in mac osX)
}
win32: ...
Run Code Online (Sandbox Code Playgroud)

但是我找不到一种方法来检测我何时处于带有树莓派的PaspberryPi中。

我尝试过类似linux-arm,的方法arm-linuxlinux-arm-gnueabi-g++但是没有运气。

有人知道进行此条件定义的正确方法,或者如何检测我们是否在RaspberryPi体系结构中进行编译?

小智 5

这对我有用:

linux {
    contains(QMAKE_HOST.arch, arm.*):{
        raspberry's bla bla bla

    }else{
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望这个对你有用。

http://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-host

  • 对于交叉编译情况,您可以使用此检查 `contains(QMAKE_CXX, .*raspbian.*arm.*)` (因为您的 QMAKE_CXX 看起来像 `~/.../tools/arm-bcm2708/gcc-linaro-arm- linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++`) (5认同)