Компиляция Qt плагинов с использованием cmake |
Здравствуйте, гость ( Вход | Регистрация )
Компиляция Qt плагинов с использованием cmake |
igor_bogomolov |
30.9.2010, 9:59
Сообщение
#1
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Не получается собрать Qt плагин на cmake. Везде написано, что необходимо добавить следующие определения
Добавил, но плагин все равно не собирается, ругается на Q_INTERFACESЦитата /home/igor_bogomolov/project/repo/k095-client/src/protocols/k095proto_native_plugin/k095proto_native_plugin.h:13: Error: Undefined interface make[2]: Leaving directory `/home/igor_bogomolov/project/repo/k095-client/build' make[1]: Leaving directory `/home/igor_bogomolov/project/repo/k095-client/build' make[2]: *** [protocols/k095proto_native_plugin/moc_k095proto_native_plugin.cxx] Ошибка 1 make[1]: *** [protocols/k095proto_native_plugin/CMakeFiles/k095proto_native_plugin.dir/all] Ошибка 2 make: *** [all] Ошибка 2 Что я не правильно делаю? Подскажите пожалуйста. Вот мой CmakeLists.txt CmakeLists.txt
|
|
|
kuzulis |
30.9.2010, 11:24
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Может быть в add_library вместо SHARED нужно всунуть MODULE ?
Да и в принципе в add_library HEDARS не нужны. -- Хотя... врядли MODULE нужно... И еще, может быть убрать Цитата ADD_DEFINITIONS(-DQT_DLL) и оставить Цитата ADD_DEFINITIONS(-DQT_SHARED) ?А с qmake плагин собирается? Сообщение отредактировал kuzulis - 30.9.2010, 11:37 |
|
|
igor_bogomolov |
30.9.2010, 11:45
Сообщение
#3
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Да, с qmake собирается нормально. Я как раз с qmake на cmake перевожу проект.
С дефайнами я по разному игрался, не помогает. Вообще какая то странная проблема. Ошибку мне выдает метокомпилятор Цитата /home/igor_bogomolov/project/repo/k095-client/src/protocols/k095proto_native_plugin/k095proto_native_plugin.h:13: Error: Undefined interface Ругается наmake[2]: *** [protocols/k095proto_native_plugin/moc_k095proto_native_plugin.cxx] Ошибка 1 Файл moc_k095proto_native_plugin.cxx при этом не создается. Что ему может не хватать?
|
|
|
kwisp |
30.9.2010, 12:05
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
igor_bogomolov |
30.9.2010, 12:29
Сообщение
#5
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
kwisp, kuzulis - спасибо, проблему решил методом научного тыка.
Команды qt4_wrap_cpp и qt4_automoc должны быть после add_definitions и include_directories. Почему, не знаю Т.е. вот так вот всё работает Раскрывающийся текст
|
|
|
igor_bogomolov |
8.10.2010, 22:44
Сообщение
#6
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
А как сделать что бы к получаемой so/dll не добавлялся префикс lib?
|
|
|
Текстовая версия | Сейчас: 26.12.2024, 21:05 |