如何在Visual Studio 2017中成功包含SDL2?

时间:2017-08-23 18:04:03

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

如果您认为这可以由您自己完成(并经过测试),请分享步骤而不是链接其他指南。我以不同的方式尝试了以下事项:

下载SDL2文件夹,它包含一个lib和include文件夹。

  • 打开包含简单主要功能的所有空项目(基本模板)

  • 打开Visual Studio的项目属性

  • 在“其他包含目录”

  • 中添加include文件夹
  • 在“其他库目录”

  • 中添加lib文件夹
  • 在“附加依赖项”

  • 中添加单个库文件
  • 包含它

我的下载来自此页面:https://www.libsdl.org/download-2.0.php

在“开发库”下,在“Windows”下,我下载了VC.zip。

帮助?请不要锁定线程,是的我已经看到了数以千计的指南如何做到这一点。为什么你认为我问这里?失败后失败,我无处可去。

我收到编译错误,这就像废话一样:

Error LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 

这是我的代码:

#include <iostream>
#include <fstream>
#include <string>

#include <SDL.h>

using namespace std;

int main(int argc, char *argv[]) {

    cout << "Hello world!" << endl;

    return 0;

}

1 个答案:

答案 0 :(得分:-1)

这是因为SDL使用#define main SDL_main并将main函数替换为它自己的版本。与SDL2main.lib链接,其中包含实现应该摆脱错误。或者,您可以在主要功能之前添加#undef main