Неопределенная ссылка на SDL_Init ( CodeBlocks)
Я хотел научить себя SDL, но столкнулся с довольно неприятной проблемой с первой попытки. Я провел небольшое исследование и выяснил, что сначала мне нужно, чтобы CodeBlocks знали, где находится библиотека. Перво-наперво, у меня есть 64-байтовая ОС.
Так же, как я читаю, я помещаю вещи в:
Проект -> Настройки компоновщика (прямые ссылки на файлы.dll, я, конечно, выбрал x64) и "-lmingw32 -lSDL2main -lSDL2" в "других настройках компоновщика". Это немного озадачивает меня, но замена 32 на 64 порождает еще одну ошибку, поэтому я сохранил ее.
Проект -> Поиск по каталогам:
-> Compiler: link to /include folder with header files
-> Linker: link to /lib folder with .dll files
Я также позаботился о том, чтобы эти вещи были видны после нажатия на сам проект и выбора "опций сборки".
Я забыл о чем-то?
1 ответ
У вас должны быть "совместимые" версии библиотек и компилятора - я имею в виду архитектуру, 32 или 64 бита. Я вижу, что вы используете MinGW 32-bit, поэтому всегда используйте 32-битные библиотеки SDL.
Речь шла о выборе версии библиотеки SDL. Что касается вашего основного вопроса, правильно ли вы выполняете все шаги по настройке SDL2 в CodeBlocks?
- Поиск в каталогах> Компилятор> /include
- Поиск в каталогах> Linker > /lib (вэтой папке должны быть файлы.lib, а не.dll)
- Настройки компоновщика> Другие опции компоновщика: -lmingw32 -lSDL2main -lSDL2
(Графический - на мой взгляд, лучший в Интернете - учебник здесь)
Не устанавливайте прямые пути к файлам DLL. Если у вас нет .lib
файлы, вероятно, вы скачали неправильный пакет с сайта SDL.