最近研究APR(Apache Portable Runtime),在Windows下寫了個小程式連結libapr-1.dll庫,用mingw編譯,結果連結的時候出錯,說什麼"undefined reference to xxx"
我寫的指令是:gcc -oapr-test -Iinclude -Llib -lapr-1 apr-test.c
我下載下傳了libapr的二進制包(http://apache.freelamp.com/apr/binaries/win32/),include 和 lib 目錄下分别有頭檔案和.lib檔案,但gcc就是找不到。。。。
最後解決的辦法是:gcc -oapr-test -Iinclude apr-test.c lib/libapr-1.lib
即:把.lib庫檔案或.a檔案的檔案名直接附加到gcc指令的後面,問題解決
如果你要先編譯,後連結,則編譯的時候不需跟.lib檔案名
此方法可以解決各種mingw找不到庫的問題,但不知道為什麼用 -l 不行