При использовании SFML для кодовых блоков C++ появляется библиотека ERROR SFML

У меня возникла проблема, когда я попытался установить SFML на Codeblocks. Ну, сначала я устанавливаю кодовые блоки: codeblocks-20.03mingw-setup.exe. Это компилируется правильно, после чего я загружаю SFML 2.5.1: GCC 5.1.0 TDM (SJLJ) - Code::Blocks - 32-бит.

Затем я извлекаю файл SFML. Возникает проблема. Я КОПИРУЮ СОДЕРЖИМОЕ «BIN» ВНУТРИ МОЕГО ПРОЕКТА CODEBLOKS. Видео помогает мне сделать все из ранее, Я НАПИСАЛ ВСЕ БИБЛИОТЕКИ: ГРАФИКА, ОКНА, СЕТЬ, АУДИО, СИСТЕМА НО НИЧЕГО. Я показываю вам ошибку:

cannot find -lsfml-audio-d-2

И продолжайте с сетью, окном, системой, графикой

На концах:

error: ld returned 1 exit status

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


person Emilia Guzman    schedule 05.06.2020    source источник
comment
Вы настроили свой проект?   -  person NixoN    schedule 06.06.2020


Ответы (1)


На веб-сайте загрузки SFML (https://www.sfml-dev.org/download/sfml/2.5.1/), там написано:
The compiler versions have to match 100%!

Установка CodeBlocks 20.03 MinGW включает компилятор GCC версии 8.1.0 (как указано на странице загрузки: http://www.codeblocks.org/downloads/26).

Таким образом, ваша загруженная версия SFML предназначена для работы только с версией 5.1.0 GCC, но у вас есть версия 8.1.0. Это может привести к ряду ошибок.

Есть несколько вариантов решения вашей проблемы:

  1. Теоретически вы можете скомпилировать SFML самостоятельно с помощью вашего конкретного компилятора, но этот вариант может быть довольно сложным.

  2. Вы можете использовать компилятор с соответствующей версией. На сайте загрузки SFML есть несколько ссылок на необходимые компиляторы. После установки компилятора вам нужно будет настроить CodeBlocks для обнаружения нового компилятора в вашей системе (ссылка: Добавление компилятор в code::blocks). Теперь, чтобы добавить SFML в ваш проект, я предлагаю использовать это официальное руководство: https://www.sfml-dev.org/tutorials/2.5/start-cb.php

  3. Вы можете использовать такую ​​среду, как MSYS2 (которую я использую лично), чтобы иметь менеджер пакетов для управления вашими установками компилятора и библиотек. Таким образом, ваша установка компилятора и ваши библиотеки должны работать друг с другом. Но чтобы использовать этот компилятор в CodeBlocks, необходимо настроить CodeBlocks.

Я бы посоветовал вам обратиться к варианту 2, потому что это, вероятно, самое быстрое решение.

Не стесняйтесь спрашивать, есть ли у вас еще вопросы. Я знаю из личного опыта, что настройка SFML (или любой другой библиотеки C++) для работы с вашей IDE может оказаться довольно сложной задачей.

person RedError    schedule 17.06.2020