Loading………………Please Wait~(_Click2Close_)

2011年10月21日星期五

gcc 4.x link lib

最近寫程式發現,以前能編譯的代碼突然無法運行
例如在代碼裏要使用sqrt function,gcc需要在編譯時連結到libm
所以需要用加上-lm參數
以前是:gcc -lm a.c
但現在:gcc a.c -lm
看上去好像沒分別但其實新版的gcc規定了-l選項的位置,只會對前面的代碼有效
例如gcc a.c -lm b.c這樣libm只會在a.c裏有效,在b.c就不可以使用math.h

所以我用以前的方法來編譯就會出錯:

undefined reference to `sqrt'

0 意見:

熱門文章

我每天都會努力的更新!
大家務必要天天來踩踩啊!!
發現了甚麼錯誤的話便直接告訴我~