我试图得到在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,请执行以下操作:
配置Eclipse以使用SDL2
这个过程已经过测试和确认工作,虽然我没有任何功劳。 来自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所建议的那样,首先要做一些改变
在这一步,我建议采用@ 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
输出中添加必要的库
SDL2
,然后点击OK pthread
并点击确定 从sdl2-config --cflags
输出添加预处理器指令
_REENTRANT
,然后单击确定