libraries - 如何在 C++ 应用程序中包含 boost 库?

标签 libraries c++

我对 Linux 和终端非常缺乏经验,但我正在努力学习。我以前也从未包含过外部库。现在我需要在使用 G++ 在 Ubuntu 中开发的程序中包含 Boost.Asio 库。

有人可以非常友好和非常仔细地解释如何从头开始吗?

编辑:

扩展原始问题:如果我需要将此代码发送给其他人,以便他们在完全独立的机器上但在同一环境中运行它,我该如何考虑?如果整个过程确实涉及将库文件放入与代码相同的文件夹中,我是否只需将这些库文件与 .cpp 一起发送给其他人?

最佳答案

你提到你正在使用 Ubuntu,所以使用 boost 最简单的方法是先安装 libboost-all-dev 包(来自 synaptic),它会为你安装所有东西,包括那些需要的待编译。然后你只需要按照通常的方式使用g++

请注意版本是否是你想要的,如果不是,你可能要自己安装。另一方面,boost 主要是仅 header 库,因此您只需要将文件(在 Ubuntu 中右键单击...)提取到一个文件夹并在编译时链接到它:

g++ hello_world.cpp -I boost_1_49_0/boost

最后一个指定编译器查找 boost header 的路径(请使用绝对路径)。

如果你想把你的程序发给别人,不要只复制一些boost文件,因为依赖是不行的。让他们安装与您相同的环境很容易(只需解压缩文件...)。

关于libraries - 如何在 C++ 应用程序中包含 boost 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10081612/

相关文章:

c - 数学库是静态链接的吗?

c# - 按降序自然排序字符串列表 C#

c++ - 在我的 C++ 库中管理版本的推荐方法

c++ - 我如何使用 QT 在 C++ 中解决这个问题

c++ - 包含单个 boost posix_time.hpp header 时编译错误

android-studio - Android Studio,Gradle,如何使用外部库源?

objective-c - iOS 8 需要一个类型

c++ - 我怎么知道哪些库被动态链接到静态库中?

c++ - 在 Makefile 的什么地方放东西(CFLAGS 或 CXXFLAGS)?

c++ - 不完整类型 Qt 的无效使用