Я пытаюсь начать работу с 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/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, но я не имею в виду компиляторы.
Это предопределенный код, который должен работать, чтобы проблема была где-то установлена?
Флаг компилятора -l добавляет зависимость библиотеки. Он не указывает путь для поиска библиотек (это флаг -l), который, как представляется, является тем, что вы ожидаете.
В сообщении об ошибке:
-L. -lC:/Users/Me/Documents/Cpp_Projects/SDL2/32bit/lib/
Вы можете видеть, что компилятор ищет в вашем текущем рабочем каталоге (.) Для библиотеки C: /Users/Me/Documents/Cpp_Projects/SDL2/32bit/lib/, но это не библиотека - это каталог в который вы храните библиотеки SDL.
В настройке компоновщика CodeLite вы хотите изменить путь к библиотеке на C: /Users/Me/Documents/Cpp_Projects/SDL2/32bit/lib/или использовать
-LC:/Users/Me/Documents/Cpp_Projects/SDL2/32bit/lib/
как флаг сборки.
Вам также необходимо связать с библиотекой SDL2, поэтому вам нужно добавить -l SDL2 (возможно, -l SDL2main, а также я не помню специфику библиотек SDL) для ваших флагов сборки/компоновщика.
mingw32;SDL2;SDL2main
при условии 32-битного исполняемого файла.