Here is the error I get from my terminal when I try to compile the code
/*This is the init file that controls all the major background processes
will contain major bliting of backgrounds,surfaces, and handle collision
*/
#ifndef_init_H_
#define _init_H_
#include <SDL>
class init{
private:
bool Running;
SDL_Surface* Surf_Display;
public:
init();
int OnExecute();
public:
bool OnInit();
void OnEvent(SDL_Event* Event);
void OnLoop();
void OnRender();
void OnCleanup();
};
如果您对此感到疑惑,这里是我从sdltutorials.com复制的代码。我用了他们的基础教程。我认为可能存在与sdl和我的操作系统的链接错误,但不确定。
答案 0 :(得分:2)
列出了两个错误 - 在第一个#ifndef
之后需要一个空格,似乎您的编译器无法找到SDL头文件 - 可能它们未安装,或者你需要一个-Ipath / to / SDL / include编译器选项,以便它看起来正确。
答案 1 :(得分:0)
首先,您可能希望确保首先安装SDL。我不会浪费你的时间来浏览所有特定于分发的东西。我会假设你知道你在做什么。修复拼写错误后,您可能会使用pkg-config。它通过键入:
在command-lind上调用$ g++ source.cpp -o program `pkg-config --cflags --libs sdl`
**注意使用`而不是'。当然,-o标志和所有爵士乐我相信你很熟悉。 pkg-config将相应的标志添加到命令行,这样您就不必担心手动列出所有必需的命令行参数。当然,所有* .pc文件的可用性因分发而异,但使用Ubuntu 12.04时,上述命令可以正常工作。根据我的经验,无论分布何种分布,pkg-config都适合在您的系统上运行。如果您想了解实际情况,请输入:
$ pkg-config --cflags --libs sdl