天天看點

【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編譯程式無法執行