Неопределенный символ ___gxx_personality_v0 по ссылке
Расширение .cpp
заставляет gcc
компилировать gcc ваш файл как файл C++. (См. GCC docs.)
Попробуйте gcc скомпилировать тот же файл, но gcc переименуйте его так, чтобы cpp он имел расширение .c
:
mv test.cpp
gcc test.c
Кроме c++ того, вы можете явно указать cxx язык, передав -x c
компилятору:
gcc -x c -c test.cpp -o test.o
Если c вы запустите nm test.o
в этих версиях cxx языка C, вы заметите, что cxx ___gxx_personality_v0
не указан как символ.
(И c++ если вы выполните ту же команду cpp для объектного файла, созданного g++ с помощью gcc -c test.cpp -o test.o
, появится символ gcc ___gxx_personality_v0
.)
c++
c
gcc
g++
Неопределенный символ ___gxx_personality_v0 по ссылке
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.