編譯後執行沒有動態庫問題

2021-09-07 23:26:56 字數 586 閱讀 6686

使用交叉編譯工具鏈的c++工具編譯成的elf檔案在海思開發板執行報如下錯誤:

./debug: can't load library 'libgcc_s.so.1'

解決辦法:

將海思提供的交叉編譯工具鏈中的對應庫拷貝至開發板上即可。

1、進入到安裝交叉編譯器的目錄下,cd  /opt/hisi-linux/x86-arm/arm-hisiv500-linux/arm-hisiv500-linux-uclibcgnueabi/lib

2、將ibgcc_s.so.1拷貝至開發板/lib目錄下,並賦予其全部許可權。

3、再次執行elf檔案。

動態庫的編譯執行

在windows下動態鏈結庫是以.dll字尾的檔案,二在linux中,是以.so作字尾的檔案。動態鏈結庫的好處就是節省記憶體空間。1 linux下建立動態鏈結庫 在使用gcc編譯程式時,只需加上 shared選項即可,這樣生成的執行程式即為動態鏈結庫。例如有檔案 hello.c x.h main.c...

Linux如何查詢動態庫 編譯 執行

1 gcc編譯 鏈結命令中的 l選項 2 gcc的環境變數的library path 多個路徑用冒號分割 3 gcc預設動態庫目錄 lib usr lib usr lib64 usr local lib。1 編譯目標 時指定的動態庫搜尋路徑 用選項 wl,rpath和include指定的動態庫的搜尋...

opencv程式編譯後執行找不到庫

方法一 在ubuntu下編譯opencv程式後,執行報下面到錯誤 error while loading shared libraries libopencv core.so.2.4 cannot open shared object file no such file or directory 解...