簡體   English   中英

如何消除Ubuntu中的ld錯誤

[英]How to eliminate ld errors in ubuntu

運行make命令后出現以下錯誤:

/usr/bin/ld: cannot find -lGLESv2
/usr/bin/ld: cannot find -lepoxy
/usr/bin/ld: cannot find -lEGL
/usr/bin/ld: cannot find -lGLESv2
/usr/bin/ld: cannot find -lepoxy
/usr/bin/ld: cannot find -lEGL
/usr/bin/ld: cannot find -lGLESv2
/usr/bin/ld: cannot find -lepoxy
/usr/bin/ld: cannot find -lEGL
/usr/bin/ld: cannot find -laio
/usr/bin/ld: cannot find -lcurl
/usr/bin/ld: cannot find -lssh2
/usr/bin/ld: cannot find -lncursesw
/usr/bin/ld: cannot find -lSDL
collect2: error: ld returned 1 exit status
main/CMakeFiles/esesc.dir/build.make:163: recipe for target 'main/esesc' failed
make[2]: *** [main/esesc] Error 1
CMakeFiles/Makefile2:1041: recipe for target 'main/CMakeFiles/esesc.dir/all' failed
make[1]: *** [main/CMakeFiles/esesc.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2

我試圖在這些鏈接中在線搜索: ld無法找到現有的庫

usr / bin / ld:找不到-l <nameOfTheLibrary>

在這里,我看到每個庫都必須與現有庫進行符號鏈接,但是我不確定這樣做。 誰能建議我任何這樣做的技術嗎?

我知道locate <library>ln命令。 現在如何使用此方法消除上述錯誤? 有人可以詳細說明嗎? 提前致謝。

這意味着您沒有安裝所需的依賴項。 您是否至少安裝了本手冊中的lib? https://github.com/masc-ucsc/esesc/blob/master/docs/Usage.md

 sudo apt-get install libepoxy0 libepoxy-dev

應該刪除環氧警告,例如

您的鏈接命令可能需要-L才能在那些-l之前。

在系統中搜索這些libname,例如GLESv2。

我使用“查找GLESv2”。 (注意:定位使用“ sudo Updatedb”更新的內容)

在我的Unbuntu上,locate報告了以下幾行。

> /usr/lib/x86_64-linux-gnu/libGLESv2.so
> /usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so
> /usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2
> /usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2.0.0

對於第一個目錄中的so(共享庫),您可以嘗試將以下內容添加到build命令中。

-L/usr/lib/x86_64-linux-gnu

對尚未解析的任何庫名稱重復上述步驟。

這是我的Makefile中的一個示例-請注意我在“ bag”目錄中編寫的庫的相對路徑


R01: dtb_acs.cc 
rm -f dtb_acs 
g++ -m64 -O3 -ggdb -std=c++14 -Wall-Wextra -Wshadow -Wnon-virtual-dtor
 -pedantic -Wcast-align -Wcast-qual -Wconversion -Wpointer-arith -Wunused
 -Woverloaded-virtual   
  -O0   dtb_acs.cc  -o dtb_acs  
 -L../../bag -lbag_i686 -lposix_i686 -lrt -pthread
 ^^^^^^^^^^^ three -l<libname> are in the -L dir

如果需要(由於這種努力無法解決任何問題),請嘗試添加-l和特定的庫,例如-llibGLESv2.so(或視情況而定是.a)。

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM