如何在linux中使用boost

Yot*_*tam 4 c++ linux boost

我正在尝试使用boost中的共享指针类(?).我已经下载了boost并将其解压缩到源文件夹(src)中的子文件夹(boost).然后我添加了一行:

#include "boost/shared_ptr.hpp"
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,我收到一个错误:

错误:boost/smart_ptr/shared_ptr.hpp:没有这样的文件或目录

我需要为程序编译添加什么?

我正在研究一台没有root权限的科学linux机器

Jas*_*son 11

您将需要g++添加目录作为编译选项,g++ -I./boost ...或者基本上添加为命令行选项-I,而不是通过安装boost库的相对或绝对路径的空格.请记住,以便将来参考boost的一些元素,比如线程库也需要链接一些库,并且你必须在编译时使用-L选项包括那些文件路径...这不是案件boost::shared_ptr,但只是给你一个头.


Tob*_*obi 5

假设您已经在主目录的某个子目录中安装了boost,那么您需要执行以下操作之一来指定编译器应该查找boost头文件的位置:

  • 在编译器命令行中添加-I标志(GCC docs)
  • 设置CPLUS_INCLUDE_PATH环境变量(GCC docs)