我有以下佈局的項目:CMake的不能找到包含文件
/build
/source
+--- CMakeLists.txt
|
+--- /bin
| +--CMakefiles.txt
| +--main.cpp
|
+--- /jsoncpp
| +--- /json
| | +--json.h
| | +--json-forwards.h
| |
| +--jsoncpp.cpp
| +--CMakeLists.txt
|
+--- /jsonreader
+-- jsonreader.cpp
+-- jsonreader.h
+-- CMakeLists.txt
在/source/CMakeLists.txt我有這行代碼;
include_directories(jsoncpp jsonreader)
但隨後在build目錄下運行 'cmake的-G 「MSYS的Makefile」 ../source' 生成Makefile文件,然後運行 '使' 生成以下錯誤:
Scanning dependencies of target updater
[ 33%] Building CXX object bin/CMakeFiles/updater.dir/main.cpp.obj
In file included from k:/own-projects/updater-Project/withJsonCpp/source/bin/main.cpp:2:0:
../source/jsonreader/jsonreader.h:2:18: fatal error: json.h: No such file
or directory
compilation terminated.
make[2]: *** [bin/CMakeFiles/updater.dir/main.cpp.obj] Error 1
make[1]: *** [bin/CMakeFiles/updater.dir/all] Error 2
make: *** [all] Error 2
我在做什麼錯了,我該如何解決這個問題?
不應該將jsoncpp/json添加到您的包含中。或者在你的C++文件中你使用相對路徑嗎? – drescherjm 2013-03-16 13:41:54
@drescherjm:在我的C++中,我只使用「include」header.h「,而不管頭部的位置是否是錯誤的?添加jsoncpp/json不起作用 – Amani 2013-03-16 13:46:13
我相信你希望用include { CMAKE_SOURCE_DIR} – drescherjm 2013-03-16 14:04:37