在未安装 SDL2 的计算机上将 linux SDL2 程序获取到 运行?

Getting a linux SDL2 program to run on a computer that does not have SDL2 installed?

最近开发了一款SDL2小游戏。游戏 运行 在我的电脑上运行良好,因为我安装了 SDL、SDL_image、SDL_mixer 和 SDL_ttf。但是下载游戏的各位都没有安装SDL2和扩展,所以无法运行应用。我怎样才能使应用程序即使对于没有安装 SDL2 的人也可用?

您可以静态 link 您的库,这样就不需要安装 SDL。

一种方法:

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

注意:如果您使用 SDL2,则必须使用外围库的 SDL2 版本,否则您将面临各种错误的风险。

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

使用-rpath .-Wl,-rpath . 从 GCC 传递)将允许从可执行文件的目录加载库。只需将适当的 .so 文件放在那里即可找到它们。