1

ブーストプリプロセッサライブラリを学習していて(使用する必要があるため)、ファイル反復メカニズムを試してみたかったのです。a.cppとb.hppを使用して最小限のプロジェクトを設定しました。私がやろうとしているのは、ブーストppを介してb.hppを何度も含めることです。

#include <boost/preprocessor/iteration/iterate.hpp>

#define BOOST_PP_ITERATION_LIMITS (0, 5)
#define BOOST_PP_FILENAME_1 "b.hpp"
#include BOOST_PP_ITERATE()

コンパイルしようとすると(プリプロセッサの結果を確認するには-Eを使用):

g++ -E a.cpp > pp_result

このエラーが発生しました:

a.cppからインクルードされたファイル:/usr/local/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:37:エラー:b.hpp:そのようなファイルまたはディレクトリはありません

b.hppは同じディレクトリにあり、何が間違っているのかわかりません。g ++はforward1.hppと同じディレクトリでb.hppを検索しているようですが、ブーストのドキュメントに従うと、私のコードは機能するはずです(私のブーストバージョンは1.44です)。

誰かが同じ問題を経験しましたか?

4

1 に答える 1

1

-I.はい、それを機能させるには、コマンドラインに追加する必要があります。これにより、gccを開始したディレクトリがインクルード検索パスに追加され、コンパイラがファイルを検索できるようになりますb.hpp

于 2010-09-30T12:27:49.173 に答える