如何在linux中使用boost

时间:2011-08-02 13:45:05

标签: c++ linux boost

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

#include "boost/shared_ptr.hpp"

当我尝试编译时,出现错误:

  

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

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

我正在使用没有root权限的科学linux机器

3 个答案:

答案 0 :(得分:11)

您需要使用g++将目录添加为g++ -I./boost ...之类的编译选项,或者基本上直接添加为命令行选项-I,而不是由亲属添加空格或安装boost库的绝对路径。请记住,为了将来参考,一些boost元素,如线程库也需要链接一些库,并且您还必须在编译时使用-L选项包含这些文件路径。 。boost::shared_ptr不是这种情况,只是让你头脑发热。

答案 1 :(得分:5)

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

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

答案 2 :(得分:2)

您可以添加gcc -I选项。 Documentation