Почему g++ в Windows, использующий cmake, имеет эту ошибку [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
 Почему g++ в Windows, использующий cmake, имеет эту ошибку [дубликат]

Сообщение Anonymous »

Возможно, мне нравится этот вопрос, но я его не решаю:
проблема с g++ и «неопределенной ссылкой на `__gxx_personality_v0'»
Я пытаюсь проверить моя программа между clang и gcc, и я пробовал ее на vscode с cmake, меняющим компилятор и другие.
Но я столкнулся с ошибкой в ​​vscode, которую не могу понять на своем уровне.< /p>

Код: Выделить всё

[main] Building folder: F:/dev/VS/cpp/code_for_algo/out/build/GCC 14.2.0 x86_64-w64-mingw32 code_for_algo
[build] Starting build
[proc] Executing command: F:\CMake\bin\cmake.EXE --build "F:/dev/VS/cpp/code_for_algo/out/build/GCC 14.2.0 x86_64-w64-mingw32" --parallel 14 --target code_for_algo --
[build] [ 50%] Building CXX object CMakeFiles/code_for_algo.dir/src/exp/explicit/explicit.cpp.obj
[build] [100%] Linking CXX executable code_for_algo.exe
[build] C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\code_for_algo.dir/objects.a(explicit.cpp.obj): in function `show(Dog)':
[build] F:/dev/VS/cpp/code_for_algo/src/exp/explicit/explicit.cpp:22:(.text+0x79): undefined reference to `_Unwind_Resume'
[build] C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\code_for_algo.dir/objects.a(explicit.cpp.obj): in function `main':
[build] F:/dev/VS/cpp/code_for_algo/src/exp/explicit/explicit.cpp:33:(.text+0x112): undefined reference to `_Unwind_Resume'
[build] C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\code_for_algo.dir/objects.a(explicit.cpp.obj): in function `std::__throw_format_error(char const*)':
[build] C:/Program Files/mingw64/include/c++/14.2.0/format:195:(.text$_ZSt20__throw_format_errorPKc[_ZSt20__throw_format_errorPKc]+0x5a): undefined reference to `_Unwind_Resume'
[build] C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\code_for_algo.dir/objects.a(explicit.cpp.obj): in function `std::vformat[abi:cxx11](std::basic_string_view, std::basic_format_args)':
[build] C:/Program Files/mingw64/include/c++/14.2.0/format:4254:(.text$_ZSt7vformatB5cxx11St17basic_string_viewIcSt11char_traitsIcEESt17basic_format_argsISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE[_ZSt7vformatB5cxx11St17basic_string_viewIcSt11char_traitsIcEESt17basic_format_argsISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE]+0x1bd): undefined reference to `_Unwind_Resume'
[build] C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\code_for_algo.dir/objects.a(explicit.cpp.obj): in function `std::__cxx11::basic_string::basic_string(std::__cxx11::basic_string const&)':
[build] C:/Program Files/mingw64/include/c++/14.2.0/bits/basic_string.h:558:(.text$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_]+0xca): undefined reference to `_Unwind_Resume'
[build] C:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\code_for_algo.dir/objects.a(explicit.cpp.obj):C:/Program Files/mingw64/include/c++/14.2.0/bits/basic_string.h:655: more undefined references to `_Unwind_Resume' follow
[build] collect2.exe: error: ld returned 1 exit status
[build] mingw32-make[3]: *** [CMakeFiles\code_for_algo.dir\build.make:99: code_for_algo.exe] Error 1
[build] mingw32-make[2]: *** [CMakeFiles\Makefile2:82: CMakeFiles/code_for_algo.dir/all] Error 2
[build] mingw32-make[1]: *** [CMakeFiles\Makefile2:89: CMakeFiles/code_for_algo.dir/rule] Error 2
[build] mingw32-make: *** [Makefile:123: code_for_algo] Error 2
[proc] The command: F:\CMake\bin\cmake.EXE --build "F:/dev/VS/cpp/code_for_algo/out/build/GCC 14.2.0 x86_64-w64-mingw32"  --parallel 14 --target code_for_algo -- exited with code: 2
[driver] Build completed: 00:00:04.523
[build] Build finished with exit code 2
[main] Failed to prepare executable target with name "undefined"

Но при запуске без использования ld.exe нет ошибки
просто

Код: Выделить всё

g++ explicit.cpp -o my.exe -std=c++23 -static-libgcc -static-libstdc++

F:\dev\VS\cpp\code_for_algo\src\exp\explicit>my.exe
Dog:
Name:Normal Dog
age: 0
Вот моя программа ниже: (только один файл)

Код: Выделить всё

#include 
#include 
#include 

#define GET_NAME(x) #x

class Dog
{
public:
Dog() : m_name("Normal Dog"), m_age(0)
{
}
Dog(int age) : m_age(age), m_name("Has Age Dog")
{
}
std::string m_name;
int m_age;
};

void show(Dog dog)
{
std::cout

Подробнее здесь: [url]https://stackoverflow.com/questions/79031967/why-g-on-windows-using-with-cmake-has-this-error[/url]

Вернуться в «C++»