【问题标题】:Linux C++ Compile Boost into my programLinux C++ 将 Boost 编译到我的程序中
【发布时间】:2012-09-14 16:27:10
【问题描述】:

我环顾了 google 和 StackOverflow,但似乎无法提出正确的问题来获得有用的答案。

我有一个在 Ubuntu 10.04 上编译的应用程序和 Boost::serialization 库中的链接。当我尝试在另一台机器上运行我的代码时,它不会运行说它找不到 Boost 库...

如何更改我的 gcc/g++ 编译参数以告诉编译器在我的可执行文件中包含 Boost 库?也就是说,如何编译才能获得完全可传输的程序?

如果我这样做,是否需要更改我的 C++ 中的任何内容?

【问题讨论】:

  • 你试过g++ -static吗?
  • 没有。认为它看起来像那样。但这不会使我所有的库都是静态的吗?我可以只列出我想要编译的那些而排除其他的吗?
  • 使用 CMake 这样的构建系统会更容易。

标签: c++ gcc boost


【解决方案1】:

所以我的同事找到了这个页面:http://ubuntuforums.org/showthread.php?t=491455

由此,他发现我们必须使用这些标志:-Wl,-Bstatic -lboost_serialization -Wl,-Bdynamic

【讨论】:

    【解决方案2】:

    您确定您已使用静态链接来编译您的应用程序吗?

    【讨论】:

    • 没有。否则它将是可运输的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    相关资源
    最近更新 更多