如何制作可执行的二进制文件,它不依赖于.so文件

时间:2014-03-31 14:32:39

标签: c++ linux

目前我通过g ++编译uisng获取可执行文件:

g++-4.8 test test.cpp -I /home/pottsie/Documents/Cpp-REST-SDK/casablanca/Release/include/ -lcasablanca -std=gnu++11

然而,当我在另一台机器上尝试该可执行文件时,我收到错误:

error while loading shared libraries: libcasablanca.so: cannot open shared object file: No such file or directory

无论如何要创建一个不需要我在我想要运行它的计算机上安装casablanca的可执行文件吗?

1 个答案:

答案 0 :(得分:2)

您可以添加-static以静态链接所需的库。当然,你需要.a那些。

g++-4.8 test test.cpp -I /home/pottsie/Documents/Cpp-REST-SDK/casablanca/Release/include/ -static -lcasablanca -std=gnu++11