因为做海思程序开发,部分程序又想在pc-linux上调试,于是配置pc,hisi-arm两个kit。
在.pro中添加LIBS,有pc版本的库和海思版本的库。
怎样我选择不同的kit的时候,能去选择链接相对应的库?在网上查找资料,找到一个实验成功的办法。
在.pro中定义一个宏,然后通过条件判断区分选择的kit。
代码如下:
INCLUDEPATH += glog/glog
INCLUDEPATH += ffmpeg/include
DEFINES += HISI_ARM
if(contains(DEFINES,HISI_ARM)){
message("compile for arm")
LIBS += /home/hisiApp/glog/lib_hisi/libglog.a
LIBS += -L/home/hisiApp/ffmpeg/hisi_lib -lavcodec -lavdevice -lavformat -lavutil -lswscale -lavfilter
}else{
message("compile for x86")
LIBS += /home/glog/lib/libglog.a
LIBS += -L/home/hisiApp/ffmpeg/lib -lavcodec -lavdevice -lavformat -lavutil -lswscale -lavfilter
}
但是这种做法有个缺点,就是需要经常手动的去屏蔽DEFINES += HISI_ARM这行。
这是目前找到的一个办法,有更好的方法,请告诉我,谢谢。