Не получается подключить файл с помощью cmake. fatal error: Нет такого файла или каталога
cmake:
cmake_minimum_required( VERSION 3.4.0 )
project(network)
set(SOURCE_LIB
src/Client/client.cpp
src/Server/server.cpp
src/network.cpp)
set(HEADER_LIB
include/Client/client.h
include/Server/server.h
include/network.h
../include/logger.h) #проблема тут
add_library(${PROJECT_NAME} SHARED ${SOURCE_LIB} ${HEADER_LIB})
подключаю вот так:
#include "include/logger.h"
Ошибка, хотя ide не подчеркивает ничего, только при сборке пишет что не может найти: In file included from
/home/user/CLionProjects/net/src/Server/server.cpp:5:
/home/user/CLionProjects/net/include/Server/server.h:22:10: fatal error: include/logger.h: Нет такого файла или каталога
22 | #include "include/logger.h"
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
Ваш файл logger.h находится "вне каталога исходников" (то есть, не в том каталоге, где находится CMakeLists.txt или подкаталогах этого каталога). А это значит, что его нужно подключать по другому.
Вначале нужно указать CMake, где искать этот файл
include_directories("тут путь к logger/include")
в список HEADER_LIB такой файл не нужно добавлять.
И теперь можно этот файл использовать как "обычный библиотечный"
#include <logger.h>
А вот есть у этого logger.h есть cpp файл, то все будет немного сложнее.
