2016-11-28 4 views
1

Я боролся с использованием SDL2 и Qt Creator и нашел некоторые темы здесь, на SO, которые были в основном полезны, но ничто из этого не объединило для SDL2 и Qt Creator в Windows 10. Основной проблема заключалась в том, что я не мог использовать консоль для ввода-вывода одновременно с SDL2 и следуя другим рекомендациям, произошло несколько разных ошибок.Как использовать SDL2 с Qt Creator - Windows

Существовали две клавиши:

  1. Какой SDL2.dll файл использовать и в какой каталог поместить.
    Некоторые говорят, что файлы SDL2.dll загружаются с веб-сайта SDL. Другие сказали, что этот файл находится в главном каталоге проекта, который не работает для меня. То, что сработало для меня, сначала делало сборку моего проекта (который не удался), но создает каталог «build -...». Затем, взяв файл SDL2.dll из installDir \ SDL2-2.0.5 \ i686-w64-mingw32 \ bin и поместив его в каталог «build -...».
  2. В project.pro файле, добавляя вручную:
    INCLUDEPATH + = каталог_установки/SDL2-2.0.5/i686-w64-mingw32/включают
    LIBS + = -L каталог_установки/SDL2-2.0.5/i686- w64-mingw32/Библиотека -lmingw32 -mwindows -mconsole -lSDL2main -lSDL2
    CXXFLAGS = -std = C++ 11

честно говоря, я не знаю, если все вызовы в LIBS являются но теперь он отлично работает для меня, и я думал, что поделюсь знаниями.

+0

Как насчет результата? Я пытаюсь использовать SDL_mixer в Qt5 тоже, но когда я компилирую, out put: undefined ссылка на 'Mix_FuncName ': Mix_Init, Mix_Linked_Version. – aviit

ответ

0

Где поставить DLL

библиотека DLL, требуется, чтобы быть в директории, которая соответствует одному из следующих правил:

  • является частью переменной $ PATH $ окружения
  • Является в той же директории, что и для исполняемого файла
  • Является в каталоге, который активно указан в вашем коде и загружен «вручную».

В моем случае я просто переместил эти DLL в папку/bin.

Libs и включает в себя

Включает необходимы для компилятора, для этой цели, обе из следующих возможностей совпадают:

  • Скопируйте SDL включает в компиляторе включает каталог.
  • Добавьте путь к проекту, используя INCLUDEPATH, как объясняется @launchpadmcquack.

Libs требуется линкер, для этой цели, обе из следующих возможностей совпадают:

  • Скопируйте СВДА ЛИЭСА в Lib каталога компилятора.
  • Добавьте lib в проект, используя LIBS, как объяснено в вопросе.

Учитывая список библиотек, требуется SDL2, другие зависят от конкретных проектов. Например. В моем случае я не связываю ни один из mingw32, mwindows или mconsole.

Дополнительное примечание: Вы можете указать C++ 11 с CONFIG параметра:

CONFIG *= c++11 
Смежные вопросы