Неизвестные ссылки из libcryptopp.a и возникающие проблемы при использовании Crypto++/cryptopp
Я скачал библиотеку cryptopp используя MSYS2
(до этого я безуспешно пытался подключить эту библиотеку когда я её скачивал отдельно, не через MSYS2
, и я на этом прогорел, так как я работаю в VSCode
и использую MinGW
, тоже отдельно), после того, как я скачал эту библиотеку появилась следующая проблема:
a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libcryptopp.a(files.cpp.obj):(.text+0x9a): undefined reference to `std::istream::seekg(std::fpos<int>)'
a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libcryptopp.a(files.cpp.obj):(.text+0x1b7): undefined reference to `std::istream::seekg(std::fpos<int>)'
a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libcryptopp.a(files.cpp.obj):(.text+0x222): undefined reference to `std::istream::seekg(std::fpos<int>)'
a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libcryptopp.a(files.cpp.obj):(.text+0x254): undefined reference to `std::istream::seekg(std::fpos<int>)'
a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libcryptopp.a(files.cpp.obj):(.text+0x2e6): undefined reference to `std::istream::seekg(std::fpos<int>)'
a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: a:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libcryptopp.a(cpu.cpp.obj):(.text+0x81): undefined reference to `_setjmp'
Параметры компиляции для MinGW
:
A:\msys64\mingw64\bin\g++.exe -fdiagnostics-color=always -g A:\Andrey_dev\AES256_GSM_C++\test.cpp -static -static-libgcc -static-libstdc++ -lcryptopp -o A:\Andrey_dev\AES256_GSM_C++\test.exe
(все папки указаны правильно, и я не мог перепутать компиляторы для обычного Си и для С++)
Код программы брал отсюда.
В чем соль и как эту проблему решить?
Источник: Stack Overflow на русском