#include </home/user1/boost/boost_1_51_0/libs/unordered/test/objects/test.hpp>
这是行不通的。可能会找到该文件,但随后它将尝试包含其他文件,例如<boost/config.hpp>
在您的包含路径中找不到的文件。
#include </home/user1/boost/boost_1_51_0/test.hpp>
^^^^^^^^
这是行不通的,因为文件不在那个位置!如果你运行ls /home/user1/boost/boost_1_51_0/test.hpp
你会得到一个错误,因为那个文件不存在。
#include </home/user1/boost/test.hpp>
^^^^^^^^
这里同样的问题。
无论如何,将绝对路径放在#include
指令中通常是一个坏主意,因此上述所有尝试都是错误的。相反,您应该包含该文件作为其预期使用:
#include <boost/test.hpp>
为此,您需要告诉编译器在哪里查找,因此您设置包含路径-I dir
,在您的情况下需要使用该路径,-I /home/user1/boost/boost_1_51_0/
以便编译器boost/test.hpp
在/home/user1/boost/boost_1_51_0/
其中查找和查找/home/user1/boost/boost_1_51_0/boost/test.hpp
,以及何时包含boost/config.hpp
它会/home/user1/boost/boost_1_51_0/boost/config.hpp
按预期找到。
但是,现在这会找到/home/user1/boost/boost_1_51_0/boost.test.hpp
,但您似乎想要包含一个 Boost.Undordered 单元测试使用的标头...我不确定您为什么认为您想要那个。通常你只想在boost
not under 下包含 Boost headerslibs