我对CPP中的其他库相当陌生,并且正在使用CentOS 8.5.2111和GCC 8.5.0 20210514的服务器上工作。我尝试安装Boost Library以使用Boost Graphs,使用以下命令-sudo dnf makecache --refresh
sudo dnf -y install boost
我写了一个非常基本的CPP程序来导入boost图形库-
#include<iostream>
#include<boost/graph/adjacency_list.hpp>
using namespace std;
int main(){
cout<<"Hello World!";
return 0;
}
并使用以下命令编译程序-gcc network_task.cpp -o network
,但遇到以下错误-
network_task.cpp:2:9: fatal error: boost/graph/adjacency_list.hpp: No such file or directory
#include<boost/graph/adjacency_list.hpp>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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头文件并编译程序。
1条答案
按热度按时间uqzxnwby1#
这个问题已经解决了。结果,沿着
boost
,我还必须安装boost-devel
。但是,由于sudo命令不在我的权限之下,我无法控制安装什么软件包。sudo dnf -y install boost-devel
成功了。谢谢@Homer512的建议-
大多数linux发行版将它们的库分成二进制包(
/lib
和/bin
中的所有内容)和一个开发者包,其中包含头文件和其他你只需要编译自己代码的东西。看看是否找到boost-devel
包或类似的东西此外,要编译程序,
g++ network_task.cpp -o network
简单地工作。