Да, типа того.
так нельзя
Оно так не работает - #include просто вставляет вместо себя текст из файла и потом это компилируется. С уже скомпилированным это не работает.
Так, понял. А если мне нужно сделать например #include <Client.hpp>, но сам этот Client.hpp находится в другом проекте/другой папке. Но я не хочу писать #include "../../Client.hpp", именно #include <Client.hpp>.
если он в другом проекте, перенеси его в этот проект
Ну, я не могу этого сделать.
прав нет?))) юниксовый админ забанил файл?
Это правильно решать на стороне системы сборки
Да, так я пытаюсь это сделать через CMake ;)
Если он в другом проекте, обычно делают так, чтобы он подключался как ProjectClient/Client.hpp
Вот это лучший варик, сделать типа Client/Client.hpp, но у меня получается только так #include <Client.hpp>, а не #include <Сlient/Client.hpp>,
Для этого тот проект должен уже иметь хедеры в папке Client
Щас обрисую, как выглядит всё.
У меня есть Client, внутри лежат Client.Core и Client.CLI Внутри Client.Core лежит Client.hpp. В Client.Core CMakeLists.txt я делаю target_include_directory и когда уже в Client.Core я делаю #include, то оно сразу мне указывает на Client.hpp и получается вот так #include <Client.hpp>
Во всех проектах добавить путь до Client.Core и потом можно будет писать #include<Client.Core/Client.hpp>
Как мне это через CMake сделать? Я прописываю в Client.Core target_include_directory на Client.hpp и получается #include <Cliеnt.hpp>.
include_directories(path_to_dir)
Обсуждают сегодня