出于某种原因,我无法编译这个程序,因为我认为它缺少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;
};
我做错了什么?如果您需要更多信息,请询问。 ;)
答案 0 :(得分:4)
确保将库引用添加到发布模式以及调试模式。我不是100%肯定SDL,但是一些第三方库有2种风格,调试和放大发布。我相信您必须使用库文件的发布模式设置IDE的发布模式。
答案 1 :(得分:2)
打开项目属性并验证是否在Debug和Release配置中链接SDL库:属性对话框的左上角有一个组合框,您可以在其中选择要编辑的配置。 p>