亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

鏈接上未定義的符號___gxx_personality_v0

鏈接上未定義的符號___gxx_personality_v0

C++ C
互換的青春 2019-11-04 09:45:27
我已經通過以下命令行構建了這個未定義的符號:$ gcc test.cppUndefined symbols:  "___gxx_personality_v0", referenced from:  etc...test.cpp很簡單,應該可以正常運行。怎么了
查看完整描述

3 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

采用


g++ test.cpp

相反,因為這是c ++代碼。


或者,如果您確實要使用gcc,請添加-lstdc++到命令行,如下所示:


gcc test.cpp -lstdc++

在每種情況下md5針對a.out產生的結果運行都會顯示出相同的輸出。


但是,是的,g++可能會使您的世界變得更簡單。


查看完整回答
反對 回復 2019-11-04
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

該.cpp擴展名導致gcc將您的文件編譯為C ++文件。(請參閱GCC文檔。)


嘗試編譯相同的文件,但將其重命名為具有.c擴展名:


mv test.cpp

gcc test.c

另外,您可以通過傳遞-x c給編譯器來明確指定語言:


gcc -x c -c test.cpp -o test.o

如果您nm test.o在這些C語言版本上運行,您會注意到它___gxx_personality_v0沒有以符號形式列出。

(并且,如果您對用生成的目標文件運行相同的命令,則會gcc -c test.cpp -o test.o顯示___gxx_personality_v0符號。)


查看完整回答
反對 回復 2019-11-04
?
DIEA

TA貢獻1820條經驗 獲得超3個贊

遇到相同的問題,但解決方案不同:


靜態庫中的C ++代碼被鏈接起來,并由.m文件引用。將.m文件重命名為.mm可以解決此問題。


查看完整回答
反對 回復 2019-11-04
  • 3 回答
  • 0 關注
  • 1077 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號