无法使可执行文件可移植

时间:2016-06-03 15:50:41

标签: c++ linker static-linking compiler-flags

我用这个库做了一个小c ++程序:http://libtins.github.io

我编译:{{1​​}}

它运行正常(Ubuntu 14.04 64位),但是如果我将可执行文件发送给朋友,他在运行时会收到此错误:

g++ -o arp arp.cpp -ltins

我已经查看了stackoverflow并发现了一些关于静态链接和动态链接的内容,还尝试了一些g ++参数但没有成功。

甚至可以创建一个"包含"的二进制文件。共享对象本身?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用-static静态链接库。

g++ -o arp arp.cc -ltins -static

要静态构建libtins,您可以参考其README中的以下部分:

  

静态/共享构建

     

请注意,默认情况下,仅编译共享对象。如果你能   要生成静态库文件,请运行:

     

cmake ../-DLIBTINS_BUILD_SHARED = 0