У меня есть еще одна проблема с моим проектом. Мне удалось получить cmake, чтобы скомпилировать его, но make не пройдет. Я получаю сообщение об ошибке, что некоторые заголовки не найдены, поэтому я проверил мои include_directories в соответствии с этим ответом на вопросы: Listing include_directories in CMakeCMake игнорирует включенные каталоги
Мои каталоги include_directories имеют все указанные папки, перечисленные как я хочу, но makefile не включает в себя "INC" tag, а cmake-gui не отображает свойство include_directories. Кто-нибудь сталкивался с подобной или аналогичной проблемой, может мне помочь?
Edit:
верхнего уровня CMake:
PROJECT(MyProject)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
# set the compiler flags
SET(CMAKE_CXX_COMPILER g++)
SET(CMAKE_CXX_FLAGS "-fPIC -g -D DEBUG -Wall -Wfatal-errors -fstrict-aliasing")
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}
${GLEW_INCLUDE_DIR}
${GLUT_INCLUDE_DIR}
${GSL_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
${QT_INCLUDE_DIR}
${MyProject_SOURCE_DIR}/include)
и после этого у меня есть некоторые add_subdirectories. CMake запускается без ошибок, но make, похоже, игнорирует последнюю строку include_directories.
Что такое " INC "? –
Я googled, как каталоги include указаны в make-файле - я предположил, что это должно быть распространено из cmake в make-файл (поскольку он должен знать, где искать заголовок и источники) – sqred
Можете ли вы предоставить CMakeLists.txt? Возможно, что-то простое, как include_directories(), нужно вызывать перед add_library и add_executable. – Finn