簡體   English   中英

鏈接特殊的共享庫

[英]Linking a special shared library

我需要鏈接一個共享庫(LuaSocket),我正在編譯另一個特殊的共享庫liblua5.1 ,它不在一個普通的位置。 為此,我正在修改Makefile。

我無法弄清楚我做錯了什么,但是我修改過的這個特殊步驟失敗了:

LIBRARY_PATH=/media/sda2/crank/lib gcc -O -shared -fpic -l liblua5.1 -o socket.so.2.0.2 [...]

(其中[...]是剛建成的.o文件列表)。 當我構建時,我得到了錯誤

/usr/lib/gcc/arm-poky-linux-gnueabi/4.8.1/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find -lliblua5.1
collect2: error: ld returned 1 exit status
make: *** [socket.so.2.0.2] Error 1

檢查LIBRARY_PATH確認所需的庫在那里:

# ls /media/sda2/crank/lib/
lgre.so  libgre.so  libgreio.a  liblua.so  liblua5.1.so  libsbexternal.so

我究竟做錯了什么?

-l liblua5.1更改為-llua5.1

另外,為什么不使用-L選項而不是設置LIBRARY_PATH 示例: -L/media/sda2/crank/lib

暫無
暫無

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

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