Eclipse IDE中的SDLconfiguration

我试图得到在Linux x86环境(ubuntu)上的Eclipse上运行的OpenGL代码: http : //nehe.gamedev.net/tutorial/vertex_buffer_objects/22002/代码将正确运行后,我input命令行

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

这是来自make文件的指令。 现在我试图让代码在Eclipse上运行,我知道我必须设置链接器库GL和GLU以及链接器库目录/ usr / X11R6 / lib /。 但是,关于sdl-config --cflags --libs ,我不确定如何在Eclipse中进行configuration。

创建一个新的C ++项目(文件>新建> C ++项目)。 你需要选择一个工具链 – Linux GCC。

如果你想使用C ++ 11,请执行以下操作:

  1. 右键单击“包资源管理器”下的项目,然后选择属性。
  2. 选择(C / C ++编译>设置> GCC C ++编译器>杂项)
  3. 在“其他标志”下添加:-std = c ++ 0x
  4. 点击应用,然后确定

配置Eclipse以使用SDL2

  1. 右键单击“包资源管理器”下的项目,然后选择属性。
  2. 选择(C / C ++常规>路径和符号>库)
  3. 点击“添加”并添加“SDL2”,然后点击确定
  4. 点击“添加”并添加“SDL2main”并点击确定

这个过程已经过测试和确认工作,虽然我没有任何功劳。 来自HERE的信息

如果你找不到更加文明的配置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 

我将尝试从前面给出的建议的组合中提供更全面的答案。 在Eclipse Mars 4.5.1版本的Fedora22系统上,这对我很有用。 正如@Zamalad所建议的那样,首先要做一些改变

  • 创建一个新的C ++项目( 文件>新建> C ++项目 )。
  • 你需要选择一个工具链 – Linux GCC

如果你想使用C ++ 11,请执行以下操作:

  • 右键单击“包资源管理器”下的项目,然后选择属性
  • 选择( 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 

现在,要在Eclipse中使用SDL2库/路径,请从sdl2-config --libs输出中添加必要的库

  • 右键单击“包资源管理器”下的项目,然后选择属性
  • 选择( C / C ++常规>路径和符号>库
  • 点击“ Add ”并输入SDL2 ,然后点击OK
  • 点击“ 添加 ”并输入pthread并点击确定

sdl2-config --cflags输出添加预处理器指令

  • 右键单击“包资源管理器”下的项目,然后选择属性
  • 选择( * C / C ++编译>设置> GCC C ++编译器>预处理器
  • 在“ 定义的符号(-D) ”下,单击“添加”图标
  • 键入_REENTRANT ,然后单击确定