CMake проблема связывания с заголовками, включенными в форму - PullRequest
2 голосов
/ 07 августа 2011

Я совсем новичок в CMake, но у меня проблема с переносом на него существующей библиотекиДля упрощения я буду работать только с двумя файлами: angle.cpp и angle.h.Вот эти файлы:

/cmaketest/CMakeLists
/cmaketest/src/angle.cpp
/cmaketest/src/angle.h

, и я запусту CMake и произведу Makefile в /cmaketest/.

Мой CMakeLists в настоящее время такой:

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(cmaketest)

SET(cmaketest_SRCDIR src)
AUX_SOURCE_DIRECTORY(${cmaketest_SRCDIR} cmaketest_SOURCES)
FILE(GLOB cmaketest_HEADERS ${cmaketest_SRCDIR}/*.h )

ADD_EXECUTABLE(cmaketest ${cmaketest_SOURCES} ${cmaketest_HEADERS})

Но проблема в том, что в angle.cpp заголовок включается не "angle.h", а <src/angle.h>

Так что с текущим файлом cmake я получил следующую ошибку при выполнении make:

/ cmaketest / src / angle.cpp: 1: 23: фатальная ошибка: src / angle.h: файл не найден

Как решить проблему?(для обратной совместимости я не могу изменить <src/angle.h> в файле .cpp)

Большое спасибо.

1 Ответ

2 голосов
/ 07 августа 2011

Попробуйте добавить каталог проекта в качестве каталога включения, используя команду include_directories :

...
file (GLOB cmaketest_HEADERS ${cmaketest_SRCDIR}/*.h )

include_directories(${CMAKE_SOURCE_DIR})
add_executable(cmaketest ${cmaketest_SOURCES} ${cmaketest_HEADERS})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...