2017-08-11 10 views
1

コンパイル時に、CMakeにそれぞれのインクルードディレクトリを追加しましたが、特定のヘッダファイルが見つかりませんでした。残念ながら、これは私が抱えているコードとディレクトリ構造であり、include文で何も変更できません。ルートディレクトリをインクルードディレクトリとして追加

私は次のようなディレクトリ構造を持っている:projectfolderに

​​

CMakeListsは次のようになります。

project (project) 
include_directories(includefolder) 
add_subdirectory(source1) 

prog.cppがあります

#include "source1_include/header.h" 

とがheader.hていました:

#include "anotherHeader.h" 

(多分それは、もともとこれはVisual Studioのプロジェクトであるという事実とは何かを持って、なぜ、私は自分自身を知らない私に聞かないでください)

私は追加することによって、私はこの問題を解決できると思っていました

include_directories(.) 

ソース1ディレクトリのCMakeListsには残念ながら、それはあまり効果がありません。 anotherHeader.hが見つかりません。

答えて

1

私は「。」と仮定しています。私が正しく理解していれば、あなたは今、 "source1_include /このheader.h" 正しくヘッダ」、今 "projectfolder/source1_include /がheader.h"

を見つけ、-I "projectfolderを" 追加 "projectfolder"

です。 h "は" anotherHeader.h "をインクルードしようとします。これはそのフォルダにはなく、インクルードされたフォルダには含まれません。実際には「source1」にあります。だからcmakeは誤りを訂正している。

"anotherHeader.h"をインクルードフォルダ(私の推奨)に移動するか、 "header.h"を編集して正しい相対パス "../source1/anotherHeader.h"で検索する必要があります推奨)、include_directories( "source1")を追加してください。実際にはそこにあります。

関連する問題