Qt .pro文件条件配置与条件编译(转)

40 篇文章 1 订阅

在用Qt进行嵌入式linux开发时,有时为了调试便利,桌面版linux环境也会配置一份,这样在编译时就会调用不同版本的库。qmake提供很多功能强大的内置函数和变量,为动态编译项目提供了便利。
 方式一:使用contains()

DEFINES += RUN_ON_EMBEDDEDSYSTEM
 
if(contains(DEFINES,RUN_ON_EMBEDDEDSYSTEM)){#contains和{必须在同一行,否则报错
 
INCLUDEPATH +=  /root/802/trunk/dsp/c6accel_1_01_00_07/soc/packages \
                /root/802/trunk/dsp/codec-engine_2_26_02_11/packages \
                /root/802/trunk/dsp/framework-components_2_26_00_01/packages \
                /root/802/trunk/dsp/dsplink_1_65_01_05_eng/packages \
                /root/802/trunk/dsp/dsplink_1_65_01_05_eng \
                /root/802/trunk/dsp/xdais_6_26_01_03/packages \
                /root/802/trunk/dsp/linuxutils_2_26_02_05/packages \
                /root/802/trunk/dsp/local-power-manager_1_24_03_10_eng/packages \
                /root/802/trunk/dsp/codecs-omap3530_4_02_00_00/packages \
                /root/802/trunk/tools/xdctools_3_16_03_36/packages \
                /root/802/trunk/dsp/c6accel_1_01_00_07/soc/c6accelw \
                /root/802/trunk/dsp/dmai_2_20_00_15/packages \
                /root/802/trunk/app/ortp-0.24.2/include \
                /root/802/trunk/app/ffmpeg-2.8.2
 
LIBS += /usr/lib/libjthread.so \
        /usr/lib/libjrtp.so \
}else{
LIBS+= /usr/local/lib/libjthread.so \
       /usr/local/lib/libjrtp.so \
       /usr/local/lib/libavdevice.so\
       /usr/local/lib/libavcodec.so\
       /usr/local/lib/libavfilter.so\
       /usr/local/lib/libavformat.so\
       /usr/local/lib/libavutil.so\
       /usr/local/lib/libpostproc.so\
       /usr/local/lib/libswresample.so\
       /usr/local/lib/libswscale.so\
}


方法二:使用CONFIG 
        CONFIG 变量用于指定工程配置和编译器选项,通常取debug,release,dll等值,也可以自定义选项值, CONFIG变量的每个选项都可以用于条件判断。

CONFIG += qt5  
  
qt5{  
LIBS += -lmydll_qt5  
}else{  
LIBS += -lmydll  
}

————————————————
版权声明:本文为CSDN博主「草上爬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/caoshangpa/article/details/51392313

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、安装qt sdk 我装的是qt 5.3 msvc版32位,内置了qt creator,直接用windows带的msvc编译器。 2.安装opencv 我装的是opencv2.4.9 for windows,解压到D盘根目录下了。 注意opencv for windows解压后就有个build文件夹,说明是用msvc编译编译好的,我们的qt用的是msvc编译器的话就可以直接导入链接库和头文件了,不需要网上那些人所说的要搞minGW和cmake编译,如果你装的qt是minGW版的就需要用cmake重新编译一遍opencv,相关教程一搜一大把。 3.在qt creator中建一个标准的控制台C++工程项目。 随便建哪种项目都是可以的,这里为了方便直接建立最简单的C++控制台项目。 4.配置opencv的环境变量(此步貌似可省,但是配个环境变量总是保险的) 在另一篇博客里讲过http://blog.csdn.net/u012234115/article/details/38612977 5.修改工程的pro文件。 要包含头文件目录和静态连接库目录,在里面加入 INCLUDEPATH+=d:/opencv/build/include/opencv \ d:/opencv/build/include/opencv2 \ d:/opencv/build/include LIBS+=D:\opencv\build\x86\vc12\lib\opencv_ml249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_calib3d249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_contrib249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_core249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_features2d249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_flann249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_gpu249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_highgui249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_imgproc249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_legacy249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_objdetect249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_ts249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_video249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_nonfree249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_ocl249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_photo249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_stitching249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_superres249d.lib LIBS+=D:\opencv\build\x86\vc12\lib\opencv_videostab249d.lib 以上加入的是debug版本的库,如果要release版本的就把后面的d去掉。其中/和\这两种斜杠都可以表示路径,但是不同路径换行分隔必须用\,INCLUDEPATH和LIBS等都可以一次加多条或者一次加一条,注意格式 加完了注意要qmake一下。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值