Неопределенная ссылка на 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?

  1. Поиск в каталогах> Компилятор> /include
  2. Поиск в каталогах> Linker > /lib (вэтой папке должны быть файлы.lib, а не.dll)
  3. Настройки компоновщика> Другие опции компоновщика: -lmingw32 -lSDL2main -lSDL2

(Графический - на мой взгляд, лучший в Интернете - учебник здесь)

Не устанавливайте прямые пути к файлам DLL. Если у вас нет .lib файлы, вероятно, вы скачали неправильный пакет с сайта SDL.

Другие вопросы по тегам