c++ 使用“sudo dnf -y install boost”安装时,无法在“/usr/include”和“/usr/local/include”中找到boost文件夹

ax6ht2ek  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(214)

我对CPP中的其他库相当陌生,并且正在使用CentOS 8.5.2111GCC 8.5.0 20210514的服务器上工作。我尝试安装Boost Library以使用Boost Graphs,使用以下命令-sudo dnf makecache --refreshsudo dnf -y install boost
我写了一个非常基本的CPP程序来导入boost图形库-

  1. #include<iostream>
  2. #include<boost/graph/adjacency_list.hpp>
  3. using namespace std;
  4. int main(){
  5. cout<<"Hello World!";
  6. return 0;
  7. }

并使用以下命令编译程序-gcc network_task.cpp -o network,但遇到以下错误-

  1. network_task.cpp:2:9: fatal error: boost/graph/adjacency_list.hpp: No such file or directory
  2. #include<boost/graph/adjacency_list.hpp>
  3. ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. compilation terminated.

我看了看其他的答案,他们说要包括boost文件夹的完整路径。首先,我尝试在编译-gcc -I boost network_task.cpp -o network时添加boost作为参数,但遇到了同样的错误。
然后,我试图找到用于boost的文件夹,我能找到的唯一路径是/usr/share/licenses/boost-graph,其中只包含LICENSE_1_0.txt/usr/include/usr/local/include中没有任何内容。
有没有其他方法可以安装图形的boost库,或者有没有其他文件夹可以存放所需的文件?另外,请帮助我如何包含图形的boost头文件并编译程序。

uqzxnwby

uqzxnwby1#

这个问题已经解决了。结果,沿着boost,我还必须安装boost-devel。但是,由于sudo命令不在我的权限之下,我无法控制安装什么软件包。
sudo dnf -y install boost-devel成功了。
谢谢@Homer512的建议-
大多数linux发行版将它们的库分成二进制包(/lib/bin中的所有内容)和一个开发者包,其中包含头文件和其他你只需要编译自己代码的东西。看看是否找到boost-devel包或类似的东西
此外,要编译程序,g++ network_task.cpp -o network简单地工作。

相关问题