_main_getcmdline 中的链接器错误 _SDL_main 未解决

Art*_*ife 4 c++ linker-errors sdl-2

我正在关注 SDL2 的 LazyFoo 教程。我经历了前十节课,现在我收到了这个错误(在我编译之前,我没有收到来自 VS 的任何错误)。

1>------ Inizio compilazione: Progetto: yetANewSDLProj, Configurazione: Debug Win32 ------
1>SDL2main.lib(SDL_windows_main.obj) : error LNK2019: riferimento al simbolo esterno _SDL_main non risolto nella funzione _main_getcmdline
1>Compilazione progetto "yetANewSDLProj.vcxproj" NON COMPLETATA.
========== Compilazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========
Run Code Online (Sandbox Code Playgroud)

“在函数“_SDL_getcmdline”中未解析对外部符号“_SDL_main”的引用

在我看来,错误不在我的代码中,而是在 SDL 的文件之间,但我无法弄清楚 Visual Studio 没有找到哪个文件或为什么。我创建了一个新的空项目,我唯一的代码(一个文件,main.cpp)是:

#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;
}
Run Code Online (Sandbox Code Playgroud)

包含文件位于路径:“C:\vs_dev_lib\include”
DLL/lib 文件:“C:\vs_dev_lib\lib\x86”
两个路径都插入到“VC++ 目录”(包含目录/库目录)中。
我还复制了 System32 和 SysWOW64 中的所有 DLL。
我还尝试在我的项目目录中复制 DLL 和 .lib 文件。
头文件、dll 和 lib 文件来自 SDL2、SDL2 图像、Mixer 和 TTF(在所有情况下,Windows 开发库(Visual C++ 32/64 位)。

链接器/输入/附加依赖项如下所示:

SDL2.lib
SDL2main.lib
SDL2_image.lib
SDL2_ttf.lib
SDL2_mixer.lib
Run Code Online (Sandbox Code Playgroud)

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

字符集是“多字节字符集”(已翻译,不确定它的英文拼写如何)。

提前致谢,如果您需要任何其他信息,请告诉我。谷歌搜索没有给我带来任何运气,过去两天我一直坚持这个:/

use*_*670 8

#define SDL_MAIN_HANDLED如果您要手动提供入口点,请尝试在包含 sdl 标头之前进行定义。

#define SDL_MAIN_HANDLED
#include "SDL.h"

int main(int argc, char *argv[])
{
    SDL_SetMainReady();
    SDL_Init(SDL_INIT_VIDEO);
...
Run Code Online (Sandbox Code Playgroud)

  • 来自未来的问候:2019 年 10 月。类似的问题,但拼写为“SDL_main”。这使得构建成功 (2认同)