我正在使用MinGW。我有一些調用malloc和一些其他通用函數的代碼。當我輸入:MinGW未定義的引用malloc,free,sprintf,_beginthreadex
gcc TestCode.c
我得到一個a.exe文件,它工作的很完美,我沒有收到任何警告。
如果我輸入:
gcc -c TestCode.c -o TestCode.o
ld *.o
我收到了一大堆警告,如:
TestCode.o:TestCode.c:(.text+0xa): undefined reference to `__main'
TestCode.o:TestCode:(.text+0x2e): undefined reference to `printf'
TestCode.o:TestCode:(.text+0x42): undefined reference to `_strerror'
TestCode.o:TestCode:(.text+0x69): undefined reference to `snprintf'
TestCode.o:TestCode:(.text+0x7e): undefined reference to `malloc'
TestCode.o:TestCode:(.text+0x93): undefined reference to `_strerror'
TestCode.o:TestCode:(.text+0xb1): undefined reference to `sprintf'
TestCode.o:TestCode:(.text+0xcf): undefined reference to `free'
我假設這是我如何調用該鏈接的問題。因此,如果不清楚問題是什麼,我只會發布代碼。我希望這是一個簡單的解決方法,並且我簡單地在鏈接時忘記了包含一些超級明顯的庫。
可能重複[使用MinGW編譯器時發生鏈接錯誤(無法找到__main)](http://stackoverflow.com/questions/4981826/link-error-while-using-mingw-compiler-cant-find-主) – 2012-03-14 03:25:29