在代码中我们可以通过宏定义来控制不同的版本编译不同的代码。
如:
#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