2010-11-19 106 views

回答

2

您需要找出哪個目標文件或庫terminate居住並將其包含在您的編譯/鏈接命令中。

如果它是在一個對象或源文件,只需把它給你的gcc(假設你實際上使用gcc,如果不是,該方法將可能是相似的)命令,按正常。如果它在庫中,則應查看-L(庫路徑)和-l(庫名稱)選項。

-2

void terminate(void) { raise(9); }

8

terminate在C++標準庫定義的,所以請確保您連接在,假設你使用GCC編譯器,你應該使用g++可執行文件來編譯源代碼, gcc可執行:

g++ source.cc -o output 

當作爲g++執行時,鏈接器自動在C++標準庫鏈接(的libstdC++)爲您服務。如果改爲執行gcc作爲普通gcc,或者你直接調用鏈接ld,那麼你需要添加-lstdc++自己的庫鏈接,例如:

gcc source.cc -o output -lstdc++ # Compile directly from source 
ld source1.o source2.o -o output -lstdc++ # Link together object files 
相關問題