QtCreator:特定于工具包的预编译器宏定义

Mor*_*Dev 6 qt qt-creator qt5

我正在使用QtCreator 3.1.1来构建一个跨平台的项目,所以我安排了不同的编译工具包来定位我的桌面PC和我的BeagleBoneBlack(BBB).

现在我想在qmake项目文件(.pro)中定义一些宏,它只针对给定的工具包.

换句话说,我想在我的.pro文件中做类似的事情:

if(kit == BBB)
   DEFINES += MY_BBB_MACRO
elseif(kit == Desktop)
   DEFINES += MY_DESKTOP_MACRO
else
   DEFINES += OTHER_MACRO
Run Code Online (Sandbox Code Playgroud)

有可能吗?我怎样才能做到这一点?

Mor*_*Dev 12

我在Qt论坛上获得了一些帮助(看看这里)关于这个问题...

无论如何,解决方案包括使用qmake内置测试功能.

基本上我CONFIG在QtCreator的项目管理中添加了一些指令:在下面的截图中你可以看到你可以看到我CONFIG+=BBB在BBB工具包的项目配置中添加了; 以同样的方式我已经添加CONFIG+=AM335xCONFIG+=Desktop于AM335x和桌面套件,分别...

在此输入图像描述

然后,在我的.pro文件中,我添加了类似的内容:

在此输入图像描述

现在在我的源代码中,我可以使用类似的东西#ifdef PLATFORM_BBB,#ifdef PLATFORM_AM335X#ifdef PLATFORM_DESKTOP根据编译工具包区分程序行为.