Конфигурация SDL в Eclipse IDE

Я пытаюсь запустить код OpenGL на Eclipse в среде Linux x86 (ubuntu): http://nehe.gamedev.net/tutorial/vertex_buffer_objects/22002/ Код будет работать правильно после ввода в командной строке команды

g++ main.cpp error.cpp lesson45.cpp -o урок45 -L/usr/X11R6/lib/ -lGL -lGLU sdl-config --cflags --libs

Это инструкция из файла make. Сейчас я пытаюсь запустить код на Eclipse, я знаю, что должен установить библиотеки линкеров GL и GLU и каталог библиотек линкеров /usr/X11R6/lib/. Однако в отношении sdl-config --cflags --libsЯ не уверен, как настроить его в Eclipse.

3 ответа

Создайте новый проект C++ (Файл> Создать> Проект C++). Вам нужно будет выбрать набор инструментов - Linux GCC.

Если вы хотите использовать C++11, сделайте следующее:

  1. Щелкните правой кнопкой мыши ваш проект в "Package Explorer" и выберите "Properties".
  2. Выберите (Сборка C/C++> Настройки> Компилятор GCC C++> Разное)
  3. Под "Другие флаги" добавьте: -std= C++0x
  4. Нажмите Применить, затем ОК

Настройте Eclipse для использования SDL2

  1. Щелкните правой кнопкой мыши ваш проект в "Package Explorer" и выберите "Properties".
  2. Выберите (C/C++ General > Пути и символы> Библиотеки)
  3. Нажмите "Добавить", добавьте "SDL2" и нажмите "ОК".
  4. Нажмите "Добавить", добавьте "SDL2main" и нажмите "ОК".

Этот процесс был проверен и подтвержден работой, хотя я не принимаю это во внимание. Информация получена ЗДЕСЬ

Я попытаюсь дать более подробный ответ из комбинации ранее приведенных предложений. В системе Fedora22 с Eclipse Mars версии 4.5.1 это сработало для меня. По предложению @Zammalad, с некоторыми изменениями, сначала

  • Создайте новый проект C++ (Файл> Создать> Проект C++).
  • Вам нужно будет выбрать набор инструментов - Linux GCC.

Если вы хотите использовать C++11, сделайте следующее:

  • Щелкните правой кнопкой мыши ваш проект в "Package Explorer" и выберите " Properties".
  • Выберите (Сборка C/C++> Настройки> Компилятор GCC C++> Диалект)
  • В разделе "Стандарт языка" выберите "ISO C++11 (-std = C++ 0x)". Нажмите Применить, затем ОК.

Настройте Eclipse для использования SDL2

На этом этапе я бы предложил использовать подход @esperanto, чтобы использовать системный терминал / оболочку, чтобы выяснить или проверить наличие / местоположение необходимых файлов / библиотек для SDL2 в вашей системе.

Во-первых, если вы хотите найти расположение необходимых библиотек в вашей системе, выполнение следующего в терминале предоставит вам местоположение "include" и другие флаги компилятора / препроцессора.

$ sdl2-config --cflags

Аналогично, чтобы вывести список библиотек / флагов-компоновщиков

$ sdl2-config --libs

Например, в моей системе Fedora22 (64-битная) вывод выглядит так

$ sdl2-config --cflags --libs
-I/usr/include/SDL2 -D_REENTRANT
-lSDL2 -lpthread

Вы можете протестировать компиляцию в отдельном временном каталоге без файлов проекта, связанных с eclipse, т.е. только с исходными файлами, например:

$ mkdir /tmp/testing
$ cp -r main.cpp error.cpp lesson45.cpp /tmp/testing/.
$ cd /tmp/testing
$ g++ `sdl2-config --cflags --libs` -o lesson45 main.cpp error.cpp lesson45.cpp

Теперь, чтобы использовать библиотеки / пути SDL2 в Eclipse, добавьте необходимые библиотеки из sdl2-config --libs выход

  • Щелкните правой кнопкой мыши ваш проект в "Package Explorer" и выберите " Properties".
  • Выберите (C/C++ General> Пути и символы> Библиотеки)
  • Нажмите "Добавить" и введите SDL2 и нажмите ОК
  • Нажмите "Добавить" и введите pthread и нажмите ОК

Чтобы добавить директиву препроцессора из sdl2-config --cflags выход

  • Щелкните правой кнопкой мыши ваш проект в "Package Explorer" и выберите " Properties".
  • Выберите (* C/C++ Build> Настройки> Компилятор GCC C++> Препроцессор)
  • В разделе "Определенные символы (-D)" нажмите значок "Добавить"
  • Тип _REENTRANT и нажмите ОК

Если вы не можете найти ничего более цивилизованного для настройки Eclipse, вы всегда можете извлечь эту информацию из sdl-config вызовите и настройте параметры вручную:

## Compiler flags
$ sdl-config  --cflags
-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT

## Linker flags
$ sdl-config  --libs
-L/usr/lib/x86_64-linux-gnu -lSDL
Другие вопросы по тегам