我試圖編譯相關的書「高級編程的UNIX®環境」代碼的編譯過程中連接問題APUE相關的代碼
當我嘗試編譯測試文件,像這樣:
$ gcc -L ../lib/ -l apue foo.c
我得到:
/tmp/cccXkUae.o: In function `main':
foo.c:(.text+0x2b): undefined reference to `err_sys'
...
collect2: error: ld returned 1 exit status
然而,似乎該功能在lib定義...
$ grep err_sys ../lib/libapue.a
Binary file ../lib/libapue.a matches
最終,這並不編譯沒有任何錯誤:
$ gcc foo.c ../lib/error.c
只是想了解我在做什麼錯。
的可能的複製(http://stackoverflow.com/questions/ [什麼是未定義參考/解析的外部符號錯誤,以及如何解決呢?] 12573816 /什麼是未定義的參考未解決的外部符號錯誤和怎麼辦我修復) – Olaf
在鏈接器命令行上,總是把**庫後目標文件** - 總是! –
感謝您幫助noob,@JonathanLeffler;你當然是對的。現在編譯就好了。 – mcede