让Linux SDL2程序在没有安装SDL2的计算机上运行?

时间:2015-10-25 16:28:22

标签: c++ sdl

我最近开发了一款小型SDL2游戏。我的计算机上的游戏运行正常,因为我安装了SDL,SDL_image,SDL_mixer和SDL_ttf。但是,下载游戏的每个人都没有安装SDL2和扩展程序,因此他们无法运行该应用程序。即使对于没有安装SDL2的人,如何使应用程序可用?

2 个答案:

答案 0 :(得分:2)

您可以将-rpath选项传递给ld,以指定动态库的搜索目录。

使用-rpath .-Wl,-rpath .从GCC传递它)将启用从可执行文件目录加载库。只需将相应的.so文件放在那里,就可以找到它们。

答案 1 :(得分:0)

您可以静态链接libs,这样就不需要安装SDL了。

一种方法:

g++ -o program [sources.cpp] -Wl,-Bstatic -lSDL2 -lSDL2_image \
-lSDL2_mixer -lSDL2_ttf -Wl,-Bdynamic [dynamically linked libs]

注意:如果使用SDL2,则必须使用外设库的SDL2版本,否则会冒各种错误。