【发布时间】:2016-04-26 17:04:06
【问题描述】:
我正在尝试制作一个 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 架构中进行编译?
【问题讨论】:
-
@Troyseph Thakns 用于链接,但我认为它不一样,在另一篇文章中,“变量”在 .pro 文件中是固定的。就我而言,我想在外部做,因为我想要 X86 和 ARM 架构的相同 .pro 文件。
-
我将此问题标记为重复,因为您都要求相同的功能(方式略有不同),而该问题的答案可帮助您实现目标。虽然不是直接重复,但将这两个问题联系起来对您和未来的用户都有帮助。
-
我从你那里了解到,可以在调用
qmake时添加CONFIG和DEFINES变量,这样你的.pro文件对于所有平台仍然是相同的。 -
@Troyseph 是的,这就是重点,您只有一个 .pro,它适用于所有 SO 或平台,通常您可以检测它是 Windows 还是 unix,甚至是 mac,但我无法检测到我是在 intel linux 中还是在 arm linux 中(在我的情况下为 raspberrypi),所以我发现的唯一方法是在 qmake 命令中传递一些标志。
标签: c++ linux qt raspberry-pi qmake