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)”
字符集是“多字节字符集”(已翻译,不确定它的英文拼写如何)。
提前致谢,如果您需要任何其他信息,请告诉我。谷歌搜索没有给我带来任何运气,过去两天我一直坚持这个:/
#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)