QT在跨平台中使用很常见,既要开发基于ubuntu,又要开发基于windows情况下,可以使用条件编译来区分平台.
步骤如下:
1. 在pro文件中添加 DEFINES
eg:
# use linux or windows
DEFINES += RUN_ON_LINUX
2. 在pro文件中区分需要添加的头文件和源文件
if(contains(DEFINES, RUN_ON_LINUX)){ // 必须写在同一行
SOURCES += posix_qextserialport.cpp
HEADERS += posix_qextserialport.h
}else{
SOURCES += win_qextserialport.cpp
HEADERS += win_qextserialport.h
}
3.在源文件和头文件中添加条件选项
#ifdef RUN_ON_LINUX
#include "posix_qextserialport.h"
#else
#include "win_qextserialport.h"
#endif
这样即可.