目標:
在 CentOS 7 上正確安裝和使用lexbor。
電流輸出:
當我使用onlexbor命令編譯程式gcc example.c -liblexbor -std=c99 -o example時CentOS 7,收到以下錯誤:
[user@localhost]$ gcc example.c -liblexbor -std=c99 -o example
/usr/bin/ld: cannot find -liblexbor
collect2: error: ld returned 1 exit status
細節:
我按照CentOS 7 的此鏈接中的說明進行安裝lexbor。鏈接器似乎找不到該庫。我運行命令來查找lib的路徑,它回傳:CentOS 7ldconfig -plexbor
liblexbor.so.2 (libc6,x86-64) => /lib64/liblexbor.so.2
找到路徑后,我然后運行以下兩個命令,我使用與上面看到的相同的編譯命令重新編譯,但顯示了相同的錯誤訊息:
[user@localhost]$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib64/liblexbor.so.2
[user@localhost]$ sudo ldconfig
然后我嘗試了一種不同的方法,看看是否可以通過將路徑嵌入到編譯命令中來解決這個問題,但這導致了相同的輸出:
gcc -L/lib64/ -liblexbor -std=c99 example.c -o example
請注意:在決定發布此問題之前,我查閱了以下資源:
- usr/bin/ld: 找不到 -l<nameOfTheLibrary>
- https://askubuntu.com/questions/1007591/usr-bin-ld-cannot-find-lopencl
總結問題:
q1。嘗試lexbor在 CentOS 7 上編譯 C 程式時如何解決此錯誤?
uj5u.com熱心網友回復:
您指定的庫名稱不正確。對于名為 liblibrary.so 的給定庫檔案,正確的選項是 -l library。所以你需要像這樣編譯:
gcc example.c -llexbor -std=c99 -o example
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/327483.html
