QT中实现条件编译


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

这样即可.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM