我最近开发了一个小型SDL2游戏。游戏在我的电脑上运行良好,因为我安装了SDL、SDL_image、SDL_mixer和SDL_ttf。但是,下载游戏的每个人都没有安装SDL2和扩展,所以他们无法运行应用程序。即使没有安装SDL2的人,我也如何使应用程序可用呢?
发布于 2015-10-25 18:49:48
您可以静态地链接您的库,这样就不需要安装SDL了。
做这件事的方法:
g++ -o program [sources.cpp] -Wl,-Bstatic -lSDL2 -lSDL2_image \
-lSDL2_mixer -lSDL2_ttf -Wl,-Bdynamic [dynamically linked libs]注意:如果使用SDL2,则必须使用外围库的SDL2构建,否则将面临各种错误的风险。
发布于 2015-10-25 19:03:30
可以将-rpath选项传递给ld以指定动态库的搜索目录。
使用-rpath . (-Wl,-rpath .从GCC传递它)将允许从可执行文件的目录加载库。只要将适当的.so文件放在那里,它们就会被找到。
https://stackoverflow.com/questions/33332053
复制相似问题