файл, если бы он был указан в target_include_directories, как public или private?
Так как target_include_directories для интерфейса позволяет указывать файлы только с interface, то они не видны в файле lib-ы
Приходится указывать относительный путь наподобие
../classa/classa.h
То есть необходимо в CMakeLists.txt указать, что мы будем использовать заголовочный файл dir/header.h
Но, когда мы его включаем в файлы проекта, то указываем просто header.h
Возможно ли это сделать? Объясню ещё немного иначе project1/ СMakeLists.txt file1.h file2.hpp project2/ СMakeLists.txt file3.h file4.cpp project1/СMakeLists.txt add_library(targeta INTERFACE) target_include_directories(targeta} INTERFACE ../project2) project1/file1.h #include "../file3.h" // Так как INTERFACE, нельзя написать // #include "file3.h", но можно ли так сделать?
Можно так делать, просто не очень тогда понятно почему ты раскладываешь код по проектам именно так, что существенная, внешняя часть проекта 1 находится в проекте 2, то есть в другом проекте
Обсуждают сегодня