我写了一个迷你客户端-服务器游戏,在我的电脑上(运行linux)很好用,因为我在客户端和服务器上都安装了SFML(和GCC 4.8)。现在我想将服务器应用程序部署到另一个没有SFML的Linux上。
首先,我尝试使用动态链接所使用的SFML库(网络和系统):
首先,我尝试使用动态链接所使用的SFML库(网络和系统):
g++ server.cpp -o ServerLinux -std=c++11 -Os -lsfml-network -lsfml-system
但是当我运行服务器应用程序时,它说找不到sfml-network.so.2和sfml-system.so.2,尽管这两个文件与二进制文件在同一个文件夹中。
然后我静态链接了这两个库:
g++ -DSFML_STATIC server.cpp -o ServerLinux -std=c++11 -Os -lsfml-network-s -lsfml-system-s
当我运行时,它提示找不到GLIBC_2.15和GLIBC_2.17。
最后,在我的最后一次尝试中,我静态链接了libstc ++和libgcc:
g++ -DSFML_STATIC server.cpp -o ServerLinux -std=c++11 -Os -lsfml-network-s -lsfml-system-s -static-libstdc++ -static-libgcc
但我仍然会得到相同的错误(找不到GLIBC_2.15和GLIBC_2.17)。
阅读类似的问题,似乎应该永远不要静态链接glibc。但我不知道该怎么做,如何将我的小型游戏服务器部署到没有SFML的Linux盒子上?