Настройте SFML с помощью Code::Blocks в Windows 8

У меня был Code::Blocks, работающий на моем другом компьютере с Windows 8 с использованием компилятора GNU GCC, но когда я скопировал и вставил все точно так, как это было на моем другом компьютере с Windows 8, мои проекты перестали работать. В настоящее время выдает эту ошибку:

mingw32-g++.exe -LC:\Matthew\Documents\SFML-1.6\lib -o bin\Debug\Game.exe obj\Debug\Main.o -lsfml-graphics-s -lsfml-window-s -lsfml-system -s -static-libgcc-static-libstdc++ -lsfml-graphics-sd -lsfml-window-sd -lsfml-system-sd -static-libgcc-static-libstdc++

mingw32-g++.exe: ошибка: нераспознанный параметр командной строки '-static-libgcc-static-libstdc++' mingw32-g++.exe: ошибка: нераспознанный параметр командной строки '-static-libgcc-static-libstdc++'

Я просмотрел проблему и нашел одно место, рекомендующее удалить все, что указано как нераспознанная команда, из моих настроек компоновщика, но когда я это делаю, оно говорит, что не может найти ничего из того, что у меня есть в моем компоновщике. Есть ли простое решение этой проблемы?


person Chachmu    schedule 18.11.2013    source источник


Ответы (1)


Похоже, у вас есть два переключателя компилятора, объединенные вместе, когда они должны быть разделены пробелом:

-static-libgcc-static-libstdС++

Попробуйте изменить команду связывания на:

g++.exe -static-libgcc -static-libstdc++ -LC:\Matthew\Documents\SFML-1.6\lib -o bin\Debug\Game.exe obj\Debug \Main.o -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lsfml-graphics-sd -lsfml-window-sd -lsfml-system-sd

person greatwolf    schedule 18.11.2013
comment
Итак, вы говорите, что я должен указать это в других параметрах компоновщика в параметрах сборки для моего проекта? Теперь это выглядит так: -static-libgcc -static-libstdc++ -lsfml-graphics-s -lsfml-window-s -lsfml-system-s - person Chachmu; 18.11.2013
comment
-static-libgcc работает, но все равно говорит, что -static-libstd++ не распознан - person Chachmu; 18.11.2013
comment
Обратите внимание, что это -static-libstdc++. - person greatwolf; 19.11.2013
comment
Ой, я это и хотел написать, просто не то написал в комменте - person Chachmu; 19.11.2013
comment
какую версию mingw вы используете? Все gcc 4.5.2 и более поздние версии должны поддерживать этот переключатель. - person greatwolf; 19.11.2013
comment
Хорошо, есть проблема. Похоже у меня еще 4.4.0, буду обновлять и пробовать - person Chachmu; 20.11.2013
comment
Я обновил свой mingw, и теперь у меня есть gcc 4.8.1, и обе команды теперь работают. Я также пересобрал библиотеки SFML, используя новую версию, но она по-прежнему сообщает мне, что не может найти ни одну из моих ссылок на ссылки SFML 1.6, она просто говорит, что не может найти -lsfml-graphics-s или то же самое, но для другой части. SFML, например -lsfml-window-s - person Chachmu; 20.11.2013
comment
Может быть, перекомпилированные версии имеют другие названия? Лучше всего проверить выходные данные сборки, чтобы увидеть, что они из себя представляют, и обновить их в своем проекте. - person greatwolf; 21.11.2013
comment
Спасибо за помощь! Каким-то образом каталоги поиска, которые я настроил, были неправильными, хотя каталоги, которые я сказал ему искать, были правильными. Я скопировал и вставил пути в него, и теперь он работает. - person Chachmu; 21.11.2013