#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 単体テストの 1 つで使用されるヘッダーを含めたいようです...なぜそれが必要だと思うのかわかりません。通常、Boost ヘッダーのみを含める必要がありますboost
。libs