![]() |
|
|
![]()
|
|
| win32nipuh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
Здесь описано
http://wiki.wxwidgets.org/Object_serializa...LEMENT_PROPERTY Такой код
Пишет wx7Main.cpp: In member function 'void wx7Frame::OnMenuXMLLoad(wxCommandEvent&)': wx7Main.cpp:445: error: 'wxXmlWriter' was not declared in this scope |
|||
|
||||
| win32nipuh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
попытался перестроить всю бибилиотеку как они пишут:
wxUSE_EXTENDED_RTTI = 1 обломался процесс с ошибками. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 4 Всего: 110 |
опиши, что ты хочешь получить? в чем сложность?
|
|||
|
||||
| win32nipuh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
Хочу сделать сериализацию объектов своего класса в хмл файл и обратно. Здесь описан простой пример, и все казалось бы хорошо. http://wiki.wxwidgets.org/Object_serializa...LEMENT_PROPERTY Я взял практически один в один этот пример(см. первый пост), добавил в свое приложение и попытался скомпилировать. Получил ошибку, что эти классы не определены. wxXmlWriter writer(root); // <-- !!!!! wxPersister persister; wxVariantArray metadata; Там написано также, что эти классы работают, если wxUSE_EXTENDED_RTTI определена. Проверил - определена, но вроде бы напсиано.что не просто должна быть определена, но именно = 1. Изменрил в сетуп.х - не помогло. Похоже надо перестаривтаь видлжетовскую длл, определил =1, попытался перестроить получил кучу ошибок. Это 2.8.11. Вытянул 2.9.1 = вообще не смог построить, ни с этой константой, ни по умолчанию. ЧТо за фигня ? Оставлять 2.8.11... ладно, а сериализацию что же руками делать? кучу времени тратить на велосипед... |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
||||
|
||||
| win32nipuh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
вот последний вариант: 2.9.1, ничего не менял, строил так (но и дебуг такой же результат) F:\wxWidgets-2.9.1\build\msw>mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release Т.е. никак не строится 2.9.1. Перестрою 2.8.11 с флагом разрешающим rtti, напишу лог Присоединённый файл ( Кол-во скачиваний: 3 )
291Release.txt 19,74 Kb |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
Попробуй без MONOLITHIC.
|
|||
|
||||
| win32nipuh |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
решил постепенно повторить эксперимент, сейчас пустил 2.8.11 дебуг строиться с ртти, посмотрю потом к 2.9.1. перейду... Добавлено через 13 минут и 3 секунды перестроил 2.8.11 с флагом ртти=1, пересобрал приложение, та же фигня пишет wxLogError(wxT("wxUSE_EXTENDED_RTTI: 0")); ???? И снова пишет, что не определен wxXmlWriter в этом контексте Может надо не в одноv файле setup.h менять перед перестройкой? Я менял здесь F:\wxWidgets-2.8.11_1\include\wx\msw\setup.h
|
||||
|
|||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
2.9 - это вообще development ветка. Там всякое возможно. По поводу setup.h - проверь на какой setup.h ссылается проект, возможно при сборке твоей программы подхватывается совершенно другой setup.h.
|
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
Ну и xtixml.h посмотри подключен или нет. wxXmlWriter там объявлен.
|
|||
|
||||
| win32nipuh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
включил этот файл... Но там похоже только объявление, фукнции все виртуальные... Перенес прожект в убунту, там та же фигня, с точно такой же ошибкой.... |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
Кстати у меня 2.9.1 ни студийным, ни gcc не собирается со включенным EXTENDED_RTTI. Предлагаю забить - все равно эта метаинформация один большой костыль, который, судя по комментариям в коде, "this is still work in progress...".
Это сообщение отредактировал(а) Amp - 24.8.2010, 12:10 |
|||
|
||||
| win32nipuh |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
согласен, но в таком случае надо изобретать велосипед для сериализации объект<-> xml файл, причем, чтобы был совместим с виндоуз и линукс... сейчас проверю еще одну идею Это сообщение отредактировал(а) win32nipuh - 24.8.2010, 19:03 |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
||||
|
||||
| win32nipuh |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 20.8.2010 Репутация: нет Всего: нет |
ссылку можно на boost? я использую CodeBloks, туда можно его впихнуть, чтобы и на вин и убунте работало? Кстати, под вин перестроил 2.8.11 с флагом rtti - все равно пишет определана константа , но не 1... Такж перестроил 2.9.1 - и так и сяк - вообще не построилась, ошибки поперли |
||||
|
|||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |