-1

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();
};

here is the code I pretty much copied from sdltutorials.com if you are wondering about it. I used their basic tutorial. I think there might be a linking error with sdl and my OS but not sure.

4

2 回答 2

2

列出了两个错误 - 在第一个之后需要一个空格#ifndef,并且您的编译器似乎找不到 SDL 头文件 - 也许它们没有安装,或者您需要 -Ipath/to/SDL/include 编译器选项,因此它看起来在正确的位置。

于 2012-06-06T15:15:31.340 回答
0

首先,您可能需要确保一开始就安装了 SDL。我不会浪费您的时间浏览所有特定于发行版的内容。我假设你知道你在做什么。修正错别字后,您可能会使用 pkg-config。通过键入以下命令在命令行上调用它:

$ g++ source.cpp -o program `pkg-config --cflags --libs sdl`

** 注意使用 ` 而不是 '。当然,-o 标志和所有爵士乐我相信你很熟悉。pkg-config 将适当的标志添加到命令行,这样您就不必担心手动列出所有必要的命令行参数。当然,所有 *.pc 文件的可用性会因发行版而异,但使用 Ubuntu 12.04,上述命令有效。根据我的经验,pkg-config 经过适当调整以在您的系统上运行,无论是什么发行版。如果您想了解幕后实际发生的情况,只需键入:

$ pkg-config --cflags --libs sdl
于 2012-06-06T18:04:18.337 回答