Ошибка связи с компилятором mingw с использованием Codelite, не могу найти папку lib

Я пытаюсь начать работу с SDL и пытаюсь скомпилировать начальное приложение «hello world», чтобы проверить мою конфигурацию, и я получаю эту ошибку:


C:/MinGW-4.8.1/bin/g++.exe -c "C:/Users/Me/Documents/Cpp_Projects/Demo_Graphics/main.cpp" -g -O0 -Wall -o ./Debug/main.cpp.o -I. -IC:/Users/Me/Documents/Cpp_Projects/SDL2/32bit/include
C:/MinGW-4.8.1/bin/g++.exe -o ./Debug/Demo_Graphics @"Demo_Graphics.txt" -L. -lC:/Users/Me/Documents/Cpp_Projects/SDL2/32bit/lib/


c:/mingw-4.8.1/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lC:/Users/Me/Documents/Cpp_Projects/SDL2/32bit/lib/


collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[1]: *** [Debug/Demo_Graphics] Error 1
Demo_Graphics.mk:79: recipe for target 'Debug/Demo_Graphics' failed
mingw32-make.exe[1]: Leaving directory 'C:/Users/Me/Documents/Cpp_Projects/Demo_Graphics'
mingw32-make.exe: *** [All] Error 2
Makefile:4: recipe for target 'All' failed
1 errors, 0 warnings

Каталог C:/Users/Me/Documents/Cpp_Projects/SDL2/32bit/lib/ конечно, существует и имеет необходимые библиотеки SDL, но я понятия не имею о компиляторах.
Это предопределенный код, который должен работать, так что проблема где-то в настройке?

0

Решение

Флаг компилятора -l добавляет библиотечную зависимость. Оно делает не укажите путь для поиска библиотек (то есть флаг -L), который, как представляется, является тем, что вы ожидаете.

В вашем сообщении об ошибке:

-L.  -lC:/Users/Me/Documents/Cpp_Projects/SDL2/32bit/lib/

Вы можете видеть, что компилятор ищет в вашей текущей рабочей директории (.) Библиотеку C: / Users / Me / Документы / Cpp_Projects / SDL2 / 32bit / Библиотека /, но это не библиотека — это каталог, в котором вы храните библиотеки SDL.

В настройке компоновщика CodeLite вы хотите изменить путь к своей библиотеке на C: / Users / Me / Documents / Cpp_Projects / SDL2 / 32bit / lib / или использовать

-LC:/Users/Me/Documents/Cpp_Projects/SDL2/32bit/lib/

как флаг сборки.

Вам также необходимо связать библиотеку SDL2, поэтому вам нужно добавить -lSDL2 (возможно, также -lSDL2main, я не могу вспомнить специфику библиотек SDL) к вашим флагам сборки / компоновщика.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector