Неопределенная ссылка на `std::basic_streambuf<char, std::char_traits<char> >::seekpos(std::fpos<int>, std::_Ios_Openmod ⇐ C++
-
Гость
Неопределенная ссылка на `std::basic_streambuf<char, std::char_traits<char> >::seekpos(std::fpos<int>, std::_Ios_Openmod
Это main.cpp
#define SFML_STATIC #include интервал основной() { sf::Окно окно; вернуть 0; } Я использую код Visual Studio, и вот команда для компиляции: C:\msys64\ucrt64\bin\g++.exe C:\Users\crazy\OneDrive\Desktop\Projects\Sorting\main.cpp -IC:\Users\crazy\OneDrive\Desktop\Projects\Sorting\src \include -o C:\Users\crazy\OneDrive\Desktop\Projects\Sorting\main.exe -Lsrc\lib -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lfreetype -lopengl32 -lwinmm -lgdi32
Моя полная ошибка: C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld .exe: src\lib/libsfml-system-s.a(Err.cpp.obj):Err.cpp:(.rdata+0x80): неопределенная ссылка на `std::basic_streambuf ::seekpos(std::fpos, std::_Ios_Openmode)' Collect2.exe: ошибка: ld вернул 1 статус выхода
Мой компилятор — g++ 13.1.0, и я загрузил SFML из «GCC 13.1.0 MinGW (SEH) — 64-бит» на этой странице
Если я удалю оператор sf::Window window;, он компилируется нормально без ошибок В качестве теста замена sf::Window window; на sf::Color color; также работает нормально. Я также попробовал #include , поскольку именно оттуда находится std::basic_streambuf, но произошла та же ошибка Пробовал компилировать с использованием каждой версии С++, используя аргументы командной строки: -std=c++03, -std=c++11, -std=c+ +14, -std=c++17, -std=c++20, -std=c++23 >
Решено! Решение:
Скомпилируйте, используя C:\msys64\mingw64 вместо C:\msys64\ucrt64
Это main.cpp
#define SFML_STATIC #include интервал основной() { sf::Окно окно; вернуть 0; } Я использую код Visual Studio, и вот команда для компиляции: C:\msys64\ucrt64\bin\g++.exe C:\Users\crazy\OneDrive\Desktop\Projects\Sorting\main.cpp -IC:\Users\crazy\OneDrive\Desktop\Projects\Sorting\src \include -o C:\Users\crazy\OneDrive\Desktop\Projects\Sorting\main.exe -Lsrc\lib -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lfreetype -lopengl32 -lwinmm -lgdi32
Моя полная ошибка: C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld .exe: src\lib/libsfml-system-s.a(Err.cpp.obj):Err.cpp:(.rdata+0x80): неопределенная ссылка на `std::basic_streambuf ::seekpos(std::fpos, std::_Ios_Openmode)' Collect2.exe: ошибка: ld вернул 1 статус выхода
Мой компилятор — g++ 13.1.0, и я загрузил SFML из «GCC 13.1.0 MinGW (SEH) — 64-бит» на этой странице
Если я удалю оператор sf::Window window;, он компилируется нормально без ошибок В качестве теста замена sf::Window window; на sf::Color color; также работает нормально. Я также попробовал #include , поскольку именно оттуда находится std::basic_streambuf, но произошла та же ошибка Пробовал компилировать с использованием каждой версии С++, используя аргументы командной строки: -std=c++03, -std=c++11, -std=c+ +14, -std=c++17, -std=c++20, -std=c++23 >
Решено! Решение:
Скомпилируйте, используя C:\msys64\mingw64 вместо C:\msys64\ucrt64
Мобильная версия