注:私はc ++が初めてです。新しいプロジェクト/.cpp ファイルを作成し、アプリケーションの下位レベルのファイル/プロジェクトの 1 つに .h ファイルを正常に含める (つまり、期待どおりに実行可能ファイルをコンパイルして実行する) ことができる複数のプロジェクトを含む既存のソリューションがありました。ただし、アプリケーションの最上位 .cpp ファイル/エントリ ポイントにファイルのヘッダーを含めると、log4cpp/category.hh に関するいくつかの構文エラーが返されます。
いくつか検索した後、いくつかのSOの質問に基づいて、log4cppとboost(私は1.55を持っています)の間の競合が原因である可能性があります。既存のソリューションには log4cpp インクルードがあり、私の .h/.cpp には boost\filesystem.hpp インクルードがあります。
category.hh を開くと、エラーは 2 行を指し、それぞれに「優先度::エラー」があります。エラーには、「'constant': :: の右側に不正なトークンがあります」および「関数は 0 引数を取りません」が含まれます。
Priority.hh を見ると、さまざまな優先度レベルの typedef enum {} があります。各列挙型にカーソルを合わせると、ERROR を除くすべての列挙型に整数値が関連付けられています。
私にとって奇妙なのは、最初にヘッダーを含めたファイルにも log4cpp #includes があり、エラーをスローしないことです。ただし、2 つの場所は異なるプロジェクトにあります。
私のC ++の知識では、これを解決/デバッグする方法がわかりません。あるプロジェクトでは失敗するが、他のプロジェクトでは失敗しない特定のプロジェクト プロパティ/設定を探す必要がありますか? どんな助けでも大歓迎です。