0
我想編一個簡單的「Hello World」用一個完整的,穩定的GCC 4.4.0程序。當我嘗試編譯動態可執行文件時,每件事都可以,但是當我嘗試編譯靜態可執行文件時,出現錯誤「未定義的printf引用」。我試圖在靜態模式下編譯的每個程序都是一樣的。它無法識別libc函數。即使使用「-nostdlib
」或「-lc
」也是如此!另外「-L ${LD_LIBRARY_PATH}
」不解決它。靜態可執行編譯錯誤:未定義的引用
./ccL10382.o: In function `main':
test.c:(.text+0x4): undefined reference to `printf'
collect2: ld returned 1 exit status
我該怎麼辦?
有/無'-nostdlib'我得到了同樣的錯誤 –
我猜 - 靜態選項不適合你,是嗎? '的GCC -Wall -static -g -o測試test.c' – Gooseman
'#GCC -Wall -static -g -o測試test.c的 test.c的:2:警告:的 '主' 返回類型不是「詮釋' /system/android-gcc-4.4.0/sysroot/usr/lib/crtbegin_dynamic.o:在功能'_start': 仿生/的libc /弓形臂/仿生/ crtbegin_dynamic.S :(文本+ 0×10) :'__libc_init'的未定義引用 ./ccx11630.o:在函數'main'中:/data/a/ts/test.c:2:對'printf'的未定義引用 collect2:ld返回1退出狀態' –