QT通过编译开关区分PC机linux和arm开发板上运行的代码

QT通过追加编译开关来区分PC机linux系统和arm开发板环境上运行的代码

 

背景:arm开发板上的程序是在PC机的linux系统上编写的,需要在PC的linux系统编译和调试,查看运行结果,但是最终还是要在arm开发板上运行,在调试过程中,由于2个开发环境的差异,会导致代码的不同,例如代码中涉及到的路径的内容就不一样,加入编译开关后,就避免了每次在开发板运行的时候,都需要修改代码,使用方便。

 

方法:追加宏定义“#ifdef __arm__”,表示代码在arm系统上有效。

 

注意:需要追加头文件的定义“#include <QtGlobal>”,在“<QtGlobal>”中定义了许多全局宏定义的宏。

 

扩展:

#ifdef Q_OS_LINUX:表示代码在linux系统上有效

#ifdef Q_OS_UNIX:表示代码在unix系统上有效 

 

示例如下:

--------------------------------

#include <QtGlobal>

 

#ifdef __arm__

   /* 可以在嵌入式ARM开发板运行的代码 */

   /* 注意“arm”前后都有2个下划线“_” */

#else

   /* 在PC机的linux系统上运行的代码 */ 

#endif

-------------------------------------

发布了19 篇原创文章 · 获赞 47 · 访问量 2647

猜你喜欢

转载自blog.csdn.net/papership/article/details/94382212