Sto usando MinGW. Ho del codice che chiama malloc e alcune altre funzioni di scopo generale. Quando digito:MinGW riferimento undefined a malloc, free, sprintf, _beginthreadex
gcc TestCode.c
Ottengo un file a.exe, funziona perfettamente e non ricevo alcun avviso.
Se scrivo questo:
gcc -c TestCode.c -o TestCode.o
ld *.o
ottengo un sacco di avvertimenti come:
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'
sto assumendo questo è un problema di come sto chiamando il linker. In quanto tale, inserirò il codice solo se non è chiaro quale sia il problema. Spero che questa sia una soluzione semplice e che ho semplicemente dimenticato di includere alcune librerie super-evidenti durante il collegamento.
possibile duplicato di [Errore di collegamento durante l'utilizzo del compilatore MinGW (impossibile trovare __main)] (http://stackoverflow.com/questions/4981826/link-error-while-using-mingw-compiler-cant-find- main) –