天天看点

【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行

如题,我的开发板是TI的AM5728EVM交叉编译器arm-linux-gnueabihf-gcc是在官网上下的,想交叉编译opencv。

情况:用该编译器编译了zlib库、ffmpeg库、TIFF库等等,当然还有opencv。host用的是Ubuntu15.0编译opencv的程序可以通过,但是通过scp传到板子上就没有反应。然后我试着用不同的编译命令编译helloworld的程序。发现:不链接额外的库是可以运行的,链接额外的库是能运行但是没有效果的。

贴图如下:

1、helloworld程序:

【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行

可以看到这个是没有问题的简单的程序。

2、带额外的链接库编译此程序,编译出来的可执行的程序名是hello1.exe:

【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行

编译并没有报错,说明在编译的时候这些库都是能找到的。

3、不带额外的库编译此程序,编译出来的可执行的程序名是hello.exe:

【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行

编译也没有报错,到这里都是顺利的!!!

4、编译出来的程序的详细信息如下(在host-Linux):

【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行

可以看到附带其他命令的程序会大一点,但这个应该没什么啊。

5、用scp命令传到am5728EVM开发板上,再次检查一下文件是否传输成功:

【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行

文件大小没有变,所以也没有被破坏。

6、但是执行结果却不一样!!

【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行

不带额外库的可以执行,但是带额外库编译的却执行了,没有任何现象没有报错没有结果。

郁闷了很久, 在线等!!恳请各路大神帮忙看一下。

【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行
【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行
【opencv交叉编译问题】用arm-linux-gnueabihf-gcc编译程序无法执行