crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

flareguner
  опции профиля:
сообщение 8.10.2010, 10:00
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 16.11.2009
Пользователь №: 1231

Спасибо сказали: 0 раз(а)




Репутация:   0  


Доброго времени суток. Сразу замечу, что это репост моей темыс ЛОРа, надеюсь тут помогут оперативнее.

Уже не знаю где искать, помогите пожалуйста. Делал всё как в примере Echo Plugin. Подгружается плагин вот здесь. В errorString плюет что-то подобное:
/home/georg/qgt/lib/qgoogletranslator/libgoogletranslate.so: undefined symbol: _ZTV15Googletranslate)"


Вот что говорит ldd
georg@citadel:~$ ldd -d /home/georg/qgt/lib/qgoogletranslator/libgoogletranslate.so
        linux-gate.so.1 =>  (0xb78bb000)
        libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0xb6df0000)
        libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0xb6b6c000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6a76000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb6a50000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6a32000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb68ec000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb68bd000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb68a3000)
        libaudio.so.2 => /usr/lib/libaudio.so.2 (0xb688d000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xb67c4000)
        libpng12.so.0 => /lib/libpng12.so.0 (0xb67a0000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb678c000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6715000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb66d6000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb66ce000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb66b6000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb66ad000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb669e000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb6580000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb657c000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb6577000)
        librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb656e000)
        /lib/ld-linux.so.2 (0xb78bc000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6548000)
        libXt.so.6 => /usr/lib/libXt.so.6 (0xb64f6000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb64f2000)
        libpcre.so.3 => /lib/libpcre.so.3 (0xb64bf000)
        libuuid.so.1 => /lib/libuuid.so.1 (0xb64bb000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb64a2000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb649d000)
undefined symbol: _ZTV8GetReply (/home/georg/qgt/lib/qgoogletranslator/libgoogletranslate.so)
undefined symbol: _ZTV15Googletranslate (/home/georg/qgt/lib/qgoogletranslator/libgoogletranslate.so)
undefined symbol: _ZTV11Plinterface     (/home/georg/qgt/lib/qgoogletranslator/libgoogletranslate.so)
georg@citadel:~$


Версия Qt:
georg@citadel:~$ systemsettings -v
Qt: 4.6.3



Ссылка на сам плагин. Насчет qt4_wrap_cpp: не помогает, пробовал. Для сборки использую CMake, его конфиг можно узреть по ссылке на сорцы. Подсматривал в другом проекте, там всё точно так же реализованно. Помогите пожалуйста.


Уже разобрался, тема закрыта.

Сообщение отредактировал flareguner - 8.10.2010, 10:48
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
4 страниц V  < 1 2 3 4 >  
Начать новую тему
Ответов (10 - 19)
Алексей1153
  опции профиля:
сообщение 8.1.2011, 18:15
Сообщение #11


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


ага, с именами понятно.

а , кстати, чем отличается "./" от "$$PWD/" ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.1.2011, 18:45
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Алексей1153 @ 8.1.2011, 20:15) *
а , кстати, чем отличается "./" от "$$PWD/" ?
$$PWD - текущий каталог файла, в котором находится эта запись.

Пример:
path/to/my.pro
CURRENT_VAR_1 = ./
CURRENT_VAR_2 = $$PWD

include(same/path/to/my.pri)


same/path/to/my.pri
CURRENT_1 = ./
CURRENT_2 = $$PWD

после сборки в одну кучу у qmake получится следующее:
CURRENT_VAR_1 = ./
CURRENT_VAR_2 = path/to/ 

CURRENT_1 = ./
CURRENT_2 = same/path/to/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 8.1.2011, 19:05
Сообщение #13


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


понятно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 30.1.2011, 14:54
Сообщение #14


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


и вот опять засада, не могу справиться - когда дело дошло до превращение в плагин двух и более виджетов, написал аналогичную обвеску для обоих, но при сборке происходит ругань на повторное использование макроса Q_EXPORT_PLUGIN2, хотя он упоминается в реализациях

текст ошибки - multuple definition of 'qt_plugin_instance'

а что делать то ? или для каждого виджетоплагина нужно свой pro делать ? Этож чокнуться можно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 30.1.2011, 15:49
Сообщение #15


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(Алексей1153 @ 30.1.2011, 14:54) *
а что делать то ?
Внимательнее читать документацию. См. QDesignerCustomWidgetCollectionInterface
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 30.1.2011, 15:54
Сообщение #16


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Я видел про этот класс, но думал, он не для этих целей. Сейчас попробую поподробнее разобраться, спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 30.1.2011, 15:59
Сообщение #17


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(Алексей1153 @ 30.1.2011, 15:54) *
Сейчас попробую поподробнее разобраться, спасибо
Вот сюда глянь, сразу всё понятно станет
Или вот тут еще примерчик можешь подглядеть http://www.forum.crossplatform.ru/index.ph...ost&p=18019
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 30.1.2011, 17:19
Сообщение #18


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


да, всё получилось. Больше всего провозился с моментом, который описан здесь. Потом всего лишь написал пробел в pro и стёр, после этого всё скомпилилось.

Кстати, прикольное западло из любопытства попробовал сделать - написать в коде интерфейса throw 0 , после этого дизайнер умирает при открытии )) Странно, что разработчики никак не защитились от этого

Ещё вопрос - при попытке перетащить виджет на форму один раз выскакивает окно с предупреждением, но русского текста не видно - что он там пишет

Цитата
???????????.......................???? <тут название моего плагина> ???????????????????????? <тут название моего класса>


это про что он там лопочет ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 30.1.2011, 17:30
Сообщение #19


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(Алексей1153 @ 30.1.2011, 17:19) *
Ещё вопрос - при попытке перетащить виджет на форму один раз выскакивает окно с предупреждением, но русского текста не видно - что он там пишет
Значит где то ты сделал ошибку. Из собственного опыта, это может быть несоответствие имени класса возвращаемой функцией QDesignerCustomWidgetInterface::name () и реально создаваемым виджетом из createWidget(). Или же возвращаешь ерунду в domXml().
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 30.1.2011, 17:51
Сообщение #20


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


да, имя класса неправильное было. А насчёт domXml() - я возвращаю "" сейчас (но ругани на это нет). Щас гляну, что это )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 18.7.2025, 1:45