2010-09-07 33 views
2

dynlinktest.c的編譯過程中它提供了以下錯誤:`cc`選項`-ldl`在下面的命令中做了什麼?

的UniPro @ ubuguest:〜$ CC dynamiclinktest.c -o dynamiclinktest /tmp/ccli8dp2.o:在功能main': dynamiclinktest.c:(.text+0x53): undefined reference to的dlopen」 dynamiclinktest.c :(的.text + 0×83):未定義參照dlsym' dynamiclinktest.c:(.text+0x109): undefined reference to dlclose」 collect2:LD返回1退出狀態

用cc dynlinktest.c後-o dynlinktest -ldl它運行。 我沒有得到它爲什麼需要使用-ldl

edit1:在出錯前留出空間。

+0

試試'man cc'。它會給你一些關於你的編譯器及其選項的信息。 – harald 2010-09-07 08:25:35

+0

我在你的命令行和錯誤消息之前引入空格的原因是它們會正確格式化;這是Stack Overflow用於標記代碼和逐字輸出的約定。我建議你重新放置空格,以使錯誤消息更易於閱讀。 – 2010-09-07 11:53:29

回答

5

-ldl包括對具有加載動態庫的符號的庫的引用(如dlopen)。

相關問題