Я пишу SFML-игру, и когда я пытаюсь запустить код, это ошибка, которую я получаю:
Точка входа процедуры
_gxx_personality_v0
не может быть расположена в динамической библиотеке ссылокlibstdc++-6.dll
Я правильно привязал ко всем библиотекам, и файлы include верны. Я даже попробовал, что другие ответы предложили, поместив libstdc++-6.dll
в каталог моего exectable, но все еще ничего.
Другой ответ сказал, чтобы поставить каталог MinGW/bin
перед любым другим каталогом в PATH
среды PATH
, что я и сделал, и он все еще не работает.
Примечание. Я получаю эту ошибку только при попытке использовать SFML-код. Он успешно работает, когда я прокомментирую это.
ОК, добавленная вами заметка говорит мне, что материал SFML был скомпилирован с другой версией/конфигурацией компилятора, более новой, если память правильно.
Вы должны убедиться, что SFML
и ваш код скомпилированы одним и тем же компилятором (версии/конфигурации) или, по крайней мере, совместимым компилятором (версии/конфигурации).
Я вижу, что последние бинарные пакеты SFML используют GCC 4.7, а последний Code :: Blocks (mingw) поставляется с сборкой TDM GCC 4.7, поэтому может быть достаточно обновить Code :: Blocks и убедиться, что вы используете SFML GCC 4.7 TDM (SJLJ) (и использовать gcc, который поставляется с кодом :: Блоки, конечно).
В противном случае вы, вероятно, должны установить сборку компилятора TDM-GCC 4.7 вручную или если ничего не получится, скомпилируйте SFML самостоятельно.
Это просто вопрос заказа PATH.
Скорее всего, у вас будет несколько файлов libstdС++ - 6.dll, загруженных в ваш путь. Вы можете проверить, запустив where libstdc++-6.dll
в командной строке.
Что вы делаете, так это убедиться, что ваша папка bin MinGW загружена перед всем остальным. Попробуйте перенести его на первый в своем глобальном PATH.
where
наиболее полезна, спасибо за указание на это.
_gxx_perso*p*nality_v0
, или это было так в реальной ошибке?