C ++和SDL:为什么我不能编译这个程序?

时间:2010-11-11 22:59:10

标签: c++ visual-studio visual-c++ sdl

出于某种原因,我无法编译这个程序,因为我认为它缺少SDL。它在Debug模式下编译很好,但不是Release。我正在使用Visual C ++ 2010.我链接到SDL与VC ++目录。这是我的(小)代码。

//main.cpp
#include "main.h"

void logger::log(string logging)
{
    file << logging << "\n";
}

int main(int argc, char* argv[])
{
    logger logObj;
        logObj.log("uShootZombies started.");

    SDL_Init(SDL_INIT_EVERYTHING);
        logObj.log("SDL initalized.");

    SDL_Quit();
        logObj.log("SDL quit.");

    return 0;
}


//main.h
#include <SDL.h>
#include <fstream>
#include <string>

using namespace std;

class game
{
    public:
    private:
};

class logger
{
    public:
    void log(string logging);
    logger()
    {
        file.open("Log.txt", ios::out);
    }

    ~logger()
    {
        file.close();
    }
    private:
    ofstream file;
};

我做错了什么?如果您需要更多信息,请询问。 ;)

2 个答案:

答案 0 :(得分:4)

确保将库引用添加到发布模式以及调试模式。我不是100%肯定SDL,但是一些第三方库有2种风格,调试和放大发布。我相信您必须使用库文件的发布模式设置IDE的发布模式。

答案 1 :(得分:2)

打开项目属性并验证是否在Debug和Release配置中链接SDL库:属性对话框的左上角有一个组合框,您可以在其中选择要编辑的配置。 p>