Ваш путь в include_directories()
может быть неправильным.Вот две вещи, которые вы можете проверить
Этот файл выглядит как CMakeLists.txt в тестовой папке, поэтому вам нужно перейти в одну папку, прежде чем вы сможете перейти в src-folder,т.е. include_directories(../src/headers)
.
Вы повторяете папку заголовков в #include "headers/utility.h"
, когда вы уже указали ее в include_directories(src/headers)
.Либо используйте #include "utility.h"
в cpp-файле или include_directories(src)
в CMakeLists.txt.
Другой вариант заключается в том, что вам не нужно указывать папку заголовков в CMakeLists.txt.совсем.Вы можете просто использовать #include "path/to/your/file.h
без какой-либо другой конфигурации.
Для отладки вашего пути в CMakeLists.txt вы можете вызвать функцию message , например, message(${your_path})
, поэтому она печатается при выполнении и вы можете проверить, верен ли она.
Кроме того, вы можете использовать встроенные переменные CMake, такие как CMAKE_CURRENT_SOURCE_DIR и CMAKE_SOURCE_DIR , например, include_directories(${CMAKE_SOURCE_DIR}/src/headers)