C++ 链接器错误\u SDL\u main未在\u main\u getcmdline中解决

C++ 链接器错误\u SDL\u main未在\u main\u getcmdline中解决,c++,linker-errors,sdl-2,C++,Linker Errors,Sdl 2,我正在学习LazyFoo的SDL2教程。我学习了前十课,现在我得到了这个错误(在编译之前,我不会从VS中得到任何错误) 函数“\u SDL\u getcmdline”中未解析对外部符号“\u SDL\u main”的引用 在我看来,错误不在我的代码中,而是在SDL的文件之间,但我无法找出Visual Studio可能找不到的文件或原因。 我创建了一个新的空项目,我仅有的代码(一个文件,main.cpp)是: 链接器/系统/子系统设置为“控制台(/子系统:控制台)” 字符集是“多字节字符集”(翻译

我正在学习LazyFoo的SDL2教程。我学习了前十课,现在我得到了这个错误(在编译之前,我不会从VS中得到任何错误)

函数“\u SDL\u getcmdline”中未解析对外部符号“\u SDL\u main”的引用

在我看来,错误不在我的代码中,而是在SDL的文件之间,但我无法找出Visual Studio可能找不到的文件或原因。 我创建了一个新的空项目,我仅有的代码(一个文件,main.cpp)是:

链接器/系统/子系统设置为“控制台(/子系统:控制台)”

字符集是“多字节字符集”(翻译后的,不确定英文拼写的准确程度)

提前谢谢,如果你需要任何其他信息,请告诉我。 谷歌搜索没有给我带来任何运气,我在过去的两天里一直在做这件事://

如果要手动提供入口点,请在包含SDL标题之前尝试定义
\define SDL\u MAIN\u HANDLED

#define SDL_MAIN_HANDLED
#include "SDL.h"

int main(int argc, char *argv[])
{
    SDL_SetMainReady();
    SDL_Init(SDL_INIT_VIDEO);
...

如果您的
main
声明不是
intmain(int,char**)
,则可能会发生上述错误,但这是有问题的-您绝对确定您有相同的代码吗?您的预处理器定义是什么?您能显示例如“命令行”吗“从项目属性,或者更好,构建日志?来自未来的问候:2019年10月。类似的问题,但拼写为“SDL_main”。这使得构建成功
#include <SDL.h>
#include <SDL_image.h>
#include <stdio.h>
#include <iostream>
#include <string>
#include <cmath>

int main(int argc, char* argv[])
{
    SDL_Init(SDL_INIT_VIDEO);
    while(1){}
    SDL_Quit();
    return 0;
}
SDL2.lib
SDL2main.lib
SDL2_image.lib
SDL2_ttf.lib
SDL2_mixer.lib
#define SDL_MAIN_HANDLED
#include "SDL.h"

int main(int argc, char *argv[])
{
    SDL_SetMainReady();
    SDL_Init(SDL_INIT_VIDEO);
...