kdevelop: редактирование CMakeLists.txt - PullRequest
1 голос
/ 20 июля 2010

У меня проблемы с попыткой заставить мой проект работать с kdevelop.

В CMakeLists.txt я включил пути к библиотекам, которые я использую:

cmake_minimum_required(VERSION 2.4.6)
PROJECT(Ormapi)
INCLUDE_DIRECTORIES("/dir/whatever/local/dir/include") < here is defined global.h
INCLUDE_DIRECTORIES("/dir/whatever/local/src")    

ADD_EXECUTABLE(Ormapi main.cpp OrmAPI.cpp)

main.cpp использует экземпляр класса, который я определил в OrmAPI.cpp. Проблема в том, что когда я пытаюсь создать экземпляр любого другого класса, определенного в вышеупомянутых каталогах include_directories, я получаю обе ошибки: «неопределенная ссылка на» и «неопределенная ссылка на».

Это вызов от конструктора OrmAPI.cpp (Global - это класс, который существует во включенных каталогах):

OrmAPI::OrmAPI(){        
 Global::dirs()->addResourceDir("mydir");    

}

Я на 99% уверен, что это связано с CMakeLists.txt, но я не знаю, что на Земле может происходить.

Есть ли направления?

1 Ответ

4 голосов
/ 21 июля 2010

Наконец-то нашли проблему:

cmake_minimum_required(VERSION 2.4.6)
PROJECT(Ormapi)
INCLUDE_DIRECTORIES("/dir/whatever/local/dir/include") < here is defined global.h
INCLUDE_DIRECTORIES("/dir/whatever/local/src")    

ADD_EXECUTABLE(Ormapi main.cpp OrmAPI.cpp)
target_link_libraries(Ormapi /dirdir/lib.so) <<<

Поскольку я создаю экземпляры объектов, объявленных по этим путям, я должен также включить общую библиотеку. Но это должно быть после ADD_EXECUTABLE. Я читал дерево зависимостей с другой стороны.

Кстати: я нашел здесь огромное количество интересной информации о работе с Makefiles, CMakeLists и т.д ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...