2010-03-03 119 views
2

我在使用c編寫linux代碼。當試圖編譯,我得到這樣的響應:爲什麼我不能在Linux中使用我的GMP庫

/tmp/ccW8mQDx.o: In function `main': 
server.c:(.text+0x3e): undefined reference to `__gmpz_set_str' 
server.c:(.text+0x5a): undefined reference to `__gmpz_set_str' 

事實上,GMP是我用過的所有功能無法找到。

似乎gmp有一些問題。

任何人都可以請告訴我如何解決它?提前致謝!

+2

你能展示你的構建和鏈接命令嗎?我想你可能沒有鏈接任何庫包含該符號。 – 2010-03-03 04:04:25

+0

我只是使用gcc server.c -o服務器...我還應該添加什麼? – allenzzzxd 2010-03-03 04:10:50

回答

4

當您忘記鏈接您的應用程序與圖書館,GMP在這種情況下出現undefined reference錯誤。在GMP文檔中讀取要鏈接的庫的名稱,並使用-l編譯器開關將其鏈接。

你試過-lgmp嗎?

如果不工作,你可以查找libgmp.a庫:

cd /usr 
find . -name libgmp.a -print 
+0

如果這不起作用,還需要添加'-L/path/to/directory/contained/libgimp.so'這個添加到庫搜索路徑 – cobbal 2010-03-03 04:13:39

+0

-lgmp的作品,非常感謝 – allenzzzxd 2010-03-03 04:24:33

0

添加-l選項,當你編譯代碼。它會添加庫文件。

相關問題