我将尝试结合先前给出的建议提供更全面的答案。在带有 Eclipse Mars 版本 4.5.1 的 Fedora22 系统上,这对我有用。正如@Zammalad 建议的那样,首先进行一些更改
- 创建一个新的 C++ 项目(文件 > 新建 > C++ 项目)。
- 您将需要选择一个工具链 - Linux GCC。
如果要使用 C++11,请执行以下操作:
- 右键单击“Package Explorer”下的项目,然后选择Properties。
- 选择(C/C++ 构建 > 设置 > GCC C++ 编译器 > 方言)
- 在“<strong>语言标准”下选择:“ ISO C++11 (-std=c++0x) ”。单击应用,然后单击确定。
配置 Eclipse 以使用 SDL2
在这一步,我建议采用@esperanto 的方法来使用系统的终端/shell 来查找或验证系统上 SDL2 所需文件/库的存在/位置。
首先,如果您想在系统上找到必要库的位置,在终端中执行以下命令将为您提供“包含”位置和其他编译器/预处理器标志
$ 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
输出中添加必要的库
- 右键单击“Package Explorer”下的项目,然后选择Properties。
- 选择(C/C++ 常规 > 路径和符号 > 库)
- 单击“<strong>添加”并键入
SDL2
并单击确定
- 单击“<strong>添加”并键入
pthread
并单击确定
从sdl2-config --cflags
输出中添加预处理器指令
- 右键单击“Package Explorer”下的项目,然后选择Properties。
- 选择(*C/C++ 构建 > 设置 > GCC C++ 编译器 > 预处理器)
- 在“已定义符号 (-D) ”下,单击“添加”图标
- 键入
_REENTRANT
并单击确定