ヘッダーファイルを含める際に問題があります。CMake相対パスではなくルートディレクトリからヘッダファイルを常に見つけるためにsrcルートディレクトリを設定するには?
エラーメッセージ
In file included from /path/to/src/main.cpp:1:
/path/to/src/dirA/testA.h:1:10: fatal error: 'common/util.h' file not found
#include "common/util.h"
ディレクトリ
├── dirA
│ └── testA.h
├── common
│ └── util.h
└── main.cpp
main.cppに
#include "dirA/testA.h"
int main()
{}
testA.h
#include "common/util.h" // <--- Here is the error point
CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
add_definitions("-std=c++11")
add_executable(main
main.cpp
)
は、私は次のようで結構ですが、私は、ファイルパスの関係を考えることをしたくないことがわかりました。
#include "../common/util.h"
更新マークFarrugiaの答えに1人の
おかげで、ビルドエラーが解消しました。しかし、私は "util/util.h"よりも "common/util.h"の方が好きです。なぜなら、そのパスは分かりやすいからです。また、重複した定義を避けることもできます。
testA.h
#include "util.h"
CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
add_definitions("-std=c++11")
include_directories("common")
add_executable(main
main.cpp
)
新しい質問に回答するために私の回答を編集しました – snoopy