Настройка SFML в Codeblocks не может найти «-lsfml-graphics»

#c #codeblocks #sfml

#c #codeblocks #sfml

Вопрос:

Я попытался установить sfml в Windows в codeblocks с использованием c , следуя руководству на их веб-сайте, а также следуя руководствам в Интернете, но даже после всего этого он не работает и выдает эту ошибку:

 ||=== Build: Debug in dasg (compiler: GNU GCC Compiler) ===|
ld.exe||cannot find -lsfml-graphics-s|
ld.exe||cannot find -lsfml-window-s|
ld.exe||cannot find -lsfml-system-s|
ld.exe||cannot find -lfreetype|
||error: ld returned 1 exit status|
||=== Build failed: 5 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
  

В настройках моего компилятора у меня на вкладке #define написано «SFML_STATIC»

В настройке компоновщика у меня есть следующие библиотеки ссылок

  • sfml-graphics-s
  • sfml-window-s
  • sfml-system-s
  • opengl32
  • freetype
  • gdi32
  • winmm

В каталогах поиска на вложенной вкладке компилятора у меня есть путь к моей папке sfml / include, а во вложенной папке компоновщика у меня есть путь к моей sfml / lib

Я что-то сделал не так или я что-то забыл?

Комментарии:

1. Вы создаете в режиме отладки. Вы уверены, что связали библиотеки в настройках отладки, а не в выпуске? Вы использовали библиотеки SFML с -d суффиксом там?

2. В моих связанных библиотеках в настройках отладки у меня есть «sfml-graphics-d / sfml-window-d / sfml-system-d / opengl32»

3. В статической отладке вам нужны оба суффикса -s и -d , например: sfml-graphics-s-d . Помогает ли это?

4. Извините, можете ли вы сказать мне, где я могу получить доступ к статической отладке?

5. Вы сказали, что у вас есть SFML-STATIC макрос, определенный в настройках компилятора, поэтому вы связываете SFML статически. Вот почему вам нужно связать файлы библиотеки SFML с -s суффиксом. Для режима компиляции отладки вам необходимо связать файлы, которые также имеют -d суффикс. У вас должны быть -s-d файлы в вашей SFML/lib папке.

Ответ №1:

Сначала проверьте, есть ли у вас статическая или динамическая версия вашей библиотеки. В пути к вашей библиотеке проверьте файлы в папке / lib. если у них есть расширение.так, например libsfml-graphics.so .

Перейдите к этому руководству -> https://www.sfml-dev.org/tutorials/2.5/start-cb.php