यह मेरा परियोजना का पेड़ है:CMake include_directories()
// foo.cpp
#include "foo.hpp"
अब समस्या है कि शीर्ष CMake में निर्देशिका सहित सफलतापूर्वक खोजने के foo:
project
| + src
| + external
| | + foo
| | | + include
| | | | - foo.hpp
| | | + src
| | | | - foo.cpp
| | | | - CMakeLists.txt
| | | - CMakeLists.txt
| | + CMakeLists.txt
| + src
| | - main.cpp
| - CMakeLists.txt
foo.cpp foo.hpp शामिल .एचपीपी, लेकिन अगर मैं उपप्रोजेक्ट में शामिल करता हूं तो यह नहीं करता है। इसके लिए कोई कारण? (निष्पादन योग्य संकलित होने से पहले निर्देशिका शामिल हैं)।
// project/CMakeLists.txt
include_directories(external/foo/include) //OK
add_subdirectory(external)
add_executable(main main.cpp)
target_link_libraries(main foo)
// project/external/CMakeLists.txt
add_subdirectory(foo)
// project/external/foo/CMakeLists.txt
include_directories(include) // NOT WORKING
add_subdirectory(src)
// project/external/foo/src/CMakeLists.txt
add_library(foo foo.cpp)
शीर्ष स्तर के सीएमकेलिस्ट में 'बाहरी/शामिल' और 'बाहरी/foo/include' के बीच सीएमकेलिस्ट में foo के अंदर एक विसंगति प्रतीत होती है - शायद यह मुद्दा है? – Angew
मैंने कुछ संपादन किए हैं, पहले कुछ त्रुटियां हो सकती हैं, लेकिन यह ठीक होना चाहिए – memecs
दस्तावेज़ अन्यथा दावा करते हैं, लेकिन ऐसा लगता है कि निर्देशिका शामिल हैं उपनिर्देशिका द्वारा विरासत में नहीं। आप जांच सकते हैं कि यह एक अलग मिनी परियोजना का उपयोग कर मामला है या नहीं। – Angew