我最近开发了一款小型SDL2游戏。我的计算机上的游戏运行正常,因为我安装了SDL,SDL_image,SDL_mixer和SDL_ttf。但是,下载游戏的每个人都没有安装SDL2和扩展程序,因此他们无法运行该应用程序。即使对于没有安装SDL2的人,如何使应用程序可用?
答案 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版本,否则会冒各种错误。