c++ - 加载共享库时出错 : libboost_system. 所以 1.49.0: 没有这样的文件或目录

标签 c++ boost shared-libraries boost-asio

我正在尝试运行 Boost:Asio 教程中的一些基本服务器/客户端软件。该应用程序在本地主机上运行良好,但是当我编译并将编译后的程序移动到另一台服务器时,它无法找到库(这是有道理的,因为它们不存在)。当我编译时,我以为我通过键入链接了库:

g++ -I/usr/local/boost_1_52_0 client.cpp -o client -lpthread -lboost_system

如果我必须将库与我在网络上安装的每个客户端软件一起分发,这是否会破坏像 Boost 这样的跨平台解决方案的目的?我错过了什么吗?有没有办法将库打包到编译后的代码中,以便与软件一起分发?

类似于: error while loading shared libraries: libboost_system.so.1.45.0: cannot open shared object file: No such file or directory

(但不一样)。

最佳答案

如上所述,需要 -static 选项。

关于c++ - 加载共享库时出错 : libboost_system. 所以 1.49.0: 没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13939620/

相关文章:

c++ - 如何使用大小参数初始化 std::vector 并独立构造每个对象?

java - 为什么编译器不能处理无法访问的代码?

C++ 静态全局非 POD : theory and practice

linux - 如何将版本信息嵌入到共享库和二进制文件中?

c - 如何使用.so文件作为c中的主要参数?

c++ - Qml 中的 FileDialog 在 Release 中不起作用

c++ - 在 chrome native 客户端中运行 C++ Windows 窗体

c++17 polyfills 和 boost

c++ - “卸载”Python 模块和 'unbinding' 关联的 API

c++ - 重载 Boost Multi_Index 查找操作