ich ein Projekt mit dem folgenden Aufbau haben:CMake nicht finden können Dateien enthalten
/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
In /source/CMakeLists.txt ich habe diese Codezeile;
include_directories(jsoncpp jsonreader)
aber dann in Build-Verzeichnis 'cmake -G "MSYS Makefiles" ../source' läuft erzeugt Makefile und dann läuft 'make' erzeugt den folgenden Fehler:
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
was ich tue falsch und wie kann ich das lösen?
Sie sollten nicht jsoncpp/json zu Ihren Includes hinzufügen. Oder verwenden Sie in Ihren C++ - Dateien einen relativen Pfad? – drescherjm
@drescherjm: in meinem C++ verwende ich nur "include" header.h "unabhängig von der Position der Kopfzeile ist das falsch? Das Hinzufügen von jsoncpp/json funktioniert nicht. – Amani
Ich glaube, dass Sie Ihre Include-Pfade mit $ { CMAKE_SOURCE_DIR} – drescherjm