树莓派的 qmake 条件
qmake conditional for RaspberryPi
我正在尝试制作一个 qmake .pro 文件以在 RaspberryPi 中编译(不用于交叉编译)。我可以根据平台使用条件定义吗:
linux-g++-64: {
message(We are in Linux 64 bits)
}
macx: {
message(we are in mac osX)
}
win32: ...
但是我无法找到一种方法来检测我何时在 raspbian 的 PaspberryPi 中。
我试过 linux-arm
、arm-linux
、linux-arm-gnueabi-g++
但运气不好。
有人知道进行此条件定义的正确方法或如何检测我们是否在 RaspberryPi 架构中编译?
好的,
看起来没有人有答案,所以我做了一个适合我的解决方法,如果它适合你,我会很高兴。
在执行qmake的时候我聚合了一个flag,比如
qmake CONFIG+=MQ_ARM -r
它将执行 qmake 递归并将标志传递给每个 .pro 文件。
在 .pro 文件中,您可以添加:
MQ_ARM {
LIBS +=bla bla
message(USING ARM LIBRARY)
} else:MQ_i686 {
LIBS +=bla bla
message(USING 32bits LIBRARY)
}
else {
LIBS +=bla bla bla
message(qmake configurated as x86_64 if you want another conf use qmake CONFIG+=MQ_ARM project.pro -
}
您可以分离到另一个文件 project.pri 并使用 include(project.pri)
将其包含在所有子项目 .pro 文件中
希望对您有所帮助!
这对我有用:
linux {
contains(QMAKE_HOST.arch, arm.*):{
raspberry's bla bla bla
}else{
...
}
}
希望对你有用。
http://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-host
当前 Raspbian OS(32 位)对于 RPi3 报告 QMAKE_HOST.arch
为 armv7l
,而旧的 board\OS 可以报告 armv6l
。
而 64 位构建,例如 RaspberryPi 的 UbuntuMate:aarch64
我正在尝试制作一个 qmake .pro 文件以在 RaspberryPi 中编译(不用于交叉编译)。我可以根据平台使用条件定义吗:
linux-g++-64: {
message(We are in Linux 64 bits)
}
macx: {
message(we are in mac osX)
}
win32: ...
但是我无法找到一种方法来检测我何时在 raspbian 的 PaspberryPi 中。
我试过 linux-arm
、arm-linux
、linux-arm-gnueabi-g++
但运气不好。
有人知道进行此条件定义的正确方法或如何检测我们是否在 RaspberryPi 架构中编译?
好的, 看起来没有人有答案,所以我做了一个适合我的解决方法,如果它适合你,我会很高兴。
在执行qmake的时候我聚合了一个flag,比如
qmake CONFIG+=MQ_ARM -r
它将执行 qmake 递归并将标志传递给每个 .pro 文件。
在 .pro 文件中,您可以添加:
MQ_ARM {
LIBS +=bla bla
message(USING ARM LIBRARY)
} else:MQ_i686 {
LIBS +=bla bla
message(USING 32bits LIBRARY)
}
else {
LIBS +=bla bla bla
message(qmake configurated as x86_64 if you want another conf use qmake CONFIG+=MQ_ARM project.pro -
}
您可以分离到另一个文件 project.pri 并使用 include(project.pri)
将其包含在所有子项目 .pro 文件中希望对您有所帮助!
这对我有用:
linux {
contains(QMAKE_HOST.arch, arm.*):{
raspberry's bla bla bla
}else{
...
}
}
希望对你有用。
http://doc.qt.io/qt-5/qmake-variable-reference.html#qmake-host
当前 Raspbian OS(32 位)对于 RPi3 报告 QMAKE_HOST.arch
为 armv7l
,而旧的 board\OS 可以报告 armv6l
。
而 64 位构建,例如 RaspberryPi 的 UbuntuMate:aarch64