前兩天一個程序用到來C語言頭文件math.h中到數學函數,不過鏈接到時候總是出現如下錯誤:
t.o: In function `work':
limit.c:(.text+0xa5): undefined reference to `sin'
collect2: ld returned 1 exit status
換其他到函數一樣都是這樣到錯誤,沒思考,直接搜到,下次碰見錯誤得思考了。
搜到如下:
『 undefined reference to sin 』,說的是『 沒有 sin 的相關定義參考值! 』,爲什麼會這樣呢?這是因爲 C 語言裏面的 sin 函示是寫在 libm.so 這個函式庫中,而我們並沒有在原始碼裏面加入相關的說明,所以當然就需要在編譯與連結的時候將這個函式庫給他連結進執行檔裏面啊
不過自己不明白,爲什麼沒有不能調用???
慢慢來啦~~~
還有就是一般這樣到錯誤:.text+0xa5
我碰到到幾次都是與沒有鏈接靜態庫有關的。