【发布时间】:2019-04-02 09:12:20
【问题描述】:
我在 Ubuntu 18.04 上,g++-8 编译器找不到 libboost-asio 模块。但是,我安装了 libboost 与
sudo apt-get install libboost-all-dev
每当我尝试使用以下头文件进行编译时,都包含
#include <boost/asio/io_context.hpp>
我收到一个编译器错误,提示找不到头文件。
fatal error: boost/asio/io_context.hpp: No such file or directory #include <boost/asio/io_context.hpp>
我可以使用其他 boost 头文件进行编译,例如 boost/array.hpp,但不能使用 asio。
在 libbooost 上运行版本检查
dpkg -s libboost-all-dev | grep 'Version'
返回:版本:1.65.1.0ubuntu1
我也找不到任何使用 aptitude 的 asio 痕迹。我怀疑它没有与 apt-get 命令一起安装。我应该如何处理?
更新 1
我发现 boost/asio 库安装在 /usr/lib/boost/asio 下。 然后我尝试了以下命令进行编译,仍然得到同样的错误。
g++-8 -I/usr/include/boost/asio -o run foo.cpp
【问题讨论】:
-
检查 boost 包含目录是否包含在你的路径中,否则将它与 ``-I
` 一起传递给你的编译器。 -
我看到 boost/asio 库安装在 /usr/include/boost/asio,但即使使用 -I/usr/include/boost/asio 我仍然得到同样的错误。我错过了什么吗?
-
我认为你必须包含 boost 根目录,即
-I/usr/include/boost
标签: c++ ubuntu boost ubuntu-18.04