我试图使用boost中的共享指针类(?)。我已经下载了boost并将其解压缩到源文件夹(src)中的子文件夹(boost)。然后我添加了一行:
#include "boost/shared_ptr.hpp"
当我尝试编译时,出现错误:
错误:boost / smart_ptr / shared_ptr.hpp:没有这样的文件或目录
我需要为编译程序添加什么?
我正在使用没有root权限的科学linux机器
答案 0 :(得分:11)
您需要使用g++
将目录添加为g++ -I./boost ...
之类的编译选项,或者基本上直接添加为命令行选项-I
,而不是由亲属添加空格或安装boost库的绝对路径。请记住,为了将来参考,一些boost元素,如线程库也需要链接一些库,并且您还必须在编译时使用-L
选项包含这些文件路径。 。boost::shared_ptr
不是这种情况,只是让你头脑发热。
答案 1 :(得分:5)
假设您已经在主目录的某个子目录中安装了boost,那么您需要执行以下操作之一来指定编译器应该查找boost头文件的位置:
答案 2 :(得分:2)
您可以添加gcc -I选项。 Documentation。