我正在使用 Qt Creator 3.1.1 构建一个跨平台项目,因此我安排了不同的编译套件来针对我的台式电脑和 BeagleBone Black (BBB)。
现在我想在 qmake 项目文件中定义一些宏(.pro
)仅特定于给定套件。
换句话说,我想在我的.pro
文件类似:
if(kit == BBB)
DEFINES += MY_BBB_MACRO
elseif(kit == Desktop)
DEFINES += MY_DESKTOP_MACRO
else
DEFINES += OTHER_MACRO
有可能吗?我怎样才能做到这一点?
我在 Qt 论坛上获得了一些帮助(看看here http://qt-project.org/forums/viewthread/45297/)关于这个问题...
无论如何,解决方案在于使用qmake内置测试函数 http://qt-project.org/doc/qt-5/qmake-test-function-reference.html#built-in-test-functions.
基本上我添加了一些CONFIG
QtCreator 项目管理中的指令:在下面的屏幕截图中您可以看到,例如您可以看到我添加了CONFIG+=BBB
在 BBB 套件的项目配置中;以同样的方式我添加了CONFIG+=AM335x
and CONFIG+=Desktop
分别到 AM335x 和桌面套件...
然后,在我的.pro
文件我添加了类似的内容:
现在在我的源代码中我可以使用类似的东西#ifdef PLATFORM_BBB
, #ifdef PLATFORM_AM335X
and #ifdef PLATFORM_DESKTOP
用于根据编译套件区分程序行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)