2016-07-14 8 views
0

現在、makeを使ってコンパイルするのに問題があります。このコマンドを使用すると、以下のエラーを受け取る前に50%にしか構築されません。C++が見つかりませんでしたがCMakeLists.txtに追加されました

[ 50%] Building CXX object CMakeFiles/laminar.dir/laminar.o/home/uqslines/Documents/Laminar/laminar.cpp:25:34: fatal error: mechsys/adlbm/Domain.h: No such file or directory compilation terminated. 

ディレクトリとファイルがあり、私の.cppファイルに介して、そのそこに監督を提出:

#include <mechsys/adlbm/Domain.h> 

私はそれが問題を解決するかどうかを確認するためにフォーマットを変更しようとしていると私は、多くのコンパイルしようとしていますファイルには複数のテスト例があります。

私はかなり新しいので、誰かがこの問題をどのように修正できるかもしれないという考えがあるなら、あなたの助けに感謝します。私はフォーラムをチェックして答えを見つけることができませんでした。働く

+1

https://cmake.org/cmake/help/v3.0/command/include_directories.html – cplusplusrat

+0

か、を与えますすでに(バージョン> = 2.8.12)、より現代的な['target_include_directories'](https://cmake.org/cmake/help/v3.0/command/target_include_directories.html)を使用してください。 – ComicSansMS

答えて

1

代わりに引用符を使用してください。

#include "mechsys/adlbm/Domain.h" 

違いは、プリプロセッサがインクルードファイルを検索する場所にあります。

#include "filename"の場合、プリプロセッサはディレクティブを含むファイルと同じディレクトリを検索します。このメソッドは通常、プログラマー定義のヘッダーファイルを含めるために使用されます。

#includeの場合、プリプロセッサは、通常はコンパイラ/ IDEによってあらかじめ指定された検索ディレクトリ内で、実装に依存した方法で検索します。このメソッドは通常、標準ライブラリヘッダーファイルをインクルードするために使用されます。あなたのcmakeのバージョンで許可されていれば

打ち鳴らす7.0.2は実際にあなたに多くの有益なエラー

main.cpp:9:10: error: 'mechsys/adlbm/Domain.h' file not found with <angled> include; use "quotes" instead 
関連する問題