我最近尝试将我的主桌面上运行在Ubuntu上的游戏移植到我的Raspberry Pi 3进行测试。我的makefile指向我自己的SDL库副本,所以我假设只是复制一切就可以编译和运行所有内容。不是这种情况。 编译时,指向SDL库的链接器标志似乎被忽略了:
Aegis: $(OBJS)
$(CC) $(OBJS) -L/sdlLib/SDL -lSDL2 -L/sdlLib -lSDL2_image -L/sdlLib -lSDL2_mixer -lX11 -o Aegis
我的makefile中的会产生以下错误:
/usr/bin/ld: cannot find -lSDL2
/usr/bin/ld: cannot find -lSDL2_image
/usr/bin/ld: cannot find -lSDL2_mixer
/usr/bin/ld: cannot find -lX11
我已将我的库移动到链接器自动检查的位置(/ usr / lib等),但这导致更多错误和更多混乱。这是我正在学习如何做的事情,所以,我不想继续抨击我试图让这种链接工作的方法,我想知道为什么我的链接器标记为我的个人副本SDL无效。