C++ 找不到sdl2main

C++ 找不到sdl2main,c++,graphics,g++,C++,Graphics,G++,我正在尝试使用SDL编译代码,我不能在这里发布很多代码,但我可以尽我所能回答有关它的问题。编译视图代码并尝试链接SDL库时会出现问题 g++ -o test test.c -lSDL2main -lSDL2 给我一个错误/usr/bin/ld:找不到-lSDL2main 我知道我的SDL安装是可以的,因为如果我忽略了SDL2main的链接,它可以很好地编译和运行。问题是还有其他代码需要SDL2main。我已经翻遍了我的文件系统,但我找不到它,我在网上搜索得非常彻底。我只是希望有人能帮助我解决依

我正在尝试使用SDL编译代码,我不能在这里发布很多代码,但我可以尽我所能回答有关它的问题。编译视图代码并尝试链接SDL库时会出现问题

g++ -o test test.c -lSDL2main -lSDL2
给我一个错误
/usr/bin/ld:找不到-lSDL2main


我知道我的SDL安装是可以的,因为如果我忽略了SDL2main的链接,它可以很好地编译和运行。问题是还有其他代码需要SDL2main。我已经翻遍了我的文件系统,但我找不到它,我在网上搜索得非常彻底。我只是希望有人能帮助我解决依赖关系,或者修复我的sdl安装(如果它已损坏)。

如果您使用的是某个发行版,可能会有一些工具来搜索文件,即使在未安装的软件包中也是如此

例如(我使用的是Debian/unstable)
apt file search SDL2main

libsdl2-dev:/usr/lib/i386 linux-gnu/libSDL2main.a

libsdl2-2.0-0:i386       2.0.2+dfsg1-4            
libsdl2-dev              2.0.2+dfsg1-4             
一旦您验证了lib存在,如果它没有链接到那里,仍然需要检查和尝试一些东西

检查库是否安装在其中一个搜索路径中(请参阅)

或显式显示路径

g++-o test test.c-L/usr/lib/i386 linux-gnu-lSDL2main-lSDL2

作为一个具有某些
gcc/g++/ld
版本的静态库,您可能需要将存档作为一个对象进行链接,而不使用
-l

g++-o test test.c/usr/lib/i386 linux gnu/libSDL2main.a-lSDL2