QT通过pro文件一键切换版本

在代码中我们可以通过宏定义来控制不同的版本编译不同的代码。
如:

#define IsArmOrX86 0

#if IsArmOrX86 
qdebug()<<"arm;
#else
qdebug()<<"x86;
#endif

但是这种实现方式只能区分不同环境下的代码,而无法区分不同环境下的依赖库和头文件等关联文件。
这里提供一种既可以区分不同环境下的代码,也可以区分不同环境下的依赖库和头文件的方法。
如:
pro文件

#DEFINES += _ARM_BUILD

contains(DEFINES, _ARM_BUILD)
{
message("arm")
INCLUDEPATH += $$PWD/test/arm/include
LIBS += -L$$PWD/arm/lib -ltest
}
else
{
message("x86")
INCLUDEPATH += $$PWD/test/x86/include
LIBS += -L$$PWD/x86/lib -ltest
}

.cpp文件

#if _ARM_BUILD
qdebug()<<"arm;
#else
qdebug()<<"x86;
#endif

你可能感兴趣的:(qt)