项目场景:
开发板:飞凌的OKMX8MQ
开发板系统:NXP的linux5.4.3
相机:basler的acA2440-35uc
目的:使用开发板8mq控制basler的相机采集图片,并且传输至本地,而8mq执行的程序是用qt编程的,程序依赖basler相机的pylon库和opencv库
1. ubuntu下 qt出现 “Failed to start program. Path or permissions wrong?”的问题
电脑是x86-linux架构,而开发板是arm-linux架构。但是x86的代码被交叉编译成arm架构的,不可以运行在x86架构上。因此,出现那个问题,说明成功了!
2. 交叉编译库的问题
交叉编译工具链是aarch64-poky-linux-gcc
- 关于qt程序的交叉编译
交叉编译环境是在ubuntu中进行的,飞凌给的软件手册里边有配置qt环境的具体说明,这个是可以正常交叉编译的。 - opencv的交叉编译
这个比较麻烦,试了网上的大部分方法,并没有成功编译。但是开发板里边有编译好的opencv库,直接用就好了,只是引用路径需要引用开发板里边的路径(在开发环境中搭建一个和开发板一样的路径的库,引用即可)。
3. 8mq开发板使用pylon库
- 由于pylon库没有开放源码,因此是不可以被交叉编译的,只能在开发板上安装basler相机的pylonviewer软件。
- 8mq开发板很多命令都没有,可以把arm版本的pylon包先在ubuntu中解压,然后拷到开发板上。需要注意的是,需要把解压后的文件内容(include、lib、bin、share等)拷到/opt/pylon(pylon-setup-env.sh提示的)里边,否则可能会出现库连接不到的问题。引用的库也是开发板路径的库/opt/pylon/lib下边的。
参考我的提问 https://community.nxp.com/t5/i-MX-Processors/Cannot-link-to-third-party-Library/m-p/1443897#M189307 - 需要配置环境变量
root@imx8mqvk:/opt# source ./pylon/bin/pylon-setup-env.sh pylon
4. 可能还是出现库链接不到的问题,下边操作都可以试试
1.解决共享库的问题
修改/etc/ld.so.conf文件
include /opt/pylon/lib
2.修改环境变量 (修改LD_LIBRARY_PATH环境变量
export LD_LIBRARY_PATH=/opt/pylon/bin:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/pylon/lib:$LD_LIBRARY_PATH
3.报错说是.so(/opt/pylon/lib/pylonviewer路径下的)打不开或不存在
将所依赖的库从/opt/pylon/lib/pylonviewer直接复制到/usr/lib下
cp -r * /usr/lib
4.报错说是.so(/opt/pylon/lib路径下的)打不开或不存在
将所依赖的库从/opt/pylon/lib直接复制到/usr/lib下(具体的路径根据自己来)
cp -r * /usr/lib
参考:
https://blog.csdn.net/weixin_41215479/article/details/88629080?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164641107916780357270019%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=164641107916780357270019&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-11-88629080.nonecase&utm_term=Failed+to+start+program.+Path+or+permissions+wrong&spm=1018.2226.3001.4450
https://blog.csdn.net/lzx_bupt/article/details/5642690?ops_request_misc=&request_id=&biz_id=102&utm_term=linux%20%20%E4%BF%AE%E6%94%B9%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8Fbashrc&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-6-5642690.142v9control,157v4control&spm=1018.2226.3001.4187
https://ask.csdn.net/questions/7646630?answer=53736265&spm=1001.2014.3001.5501