![]() |
|
|
![]()
|
|
| JavaCraft |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 8.2.2007 Репутация: нет Всего: 1 |
Решил добавить к своему приложению еще одну либу (WXIA).
Используется wxUSE_UNICODE. 1) Скомпилировать предлагаемую либу из MSYS, как есть, не вышло. Создал для нее проект в CodeBlocks, все опции практически идентичны основному проекту, за исключением цели (Static Lib). Добавил исходники, настроил пути, подрихтовал код, т.к. он старый и там были ошибки. Скомпилировал статическую либу без ошибок. Если нужно, могу подробности показать. 2) Добавил в основной проект зависимость, прописал include, добавил либу в список загружаемых либ, добавил нужный код задействующий классы из либы, запустил компиляцию. В приложении ошибок и значимых варнингов также не обнаружено. При линковке выдает одну ошибку ..\wxia\lib\libwxia.a(ia.o):ia.cpp:(.rdata$_ZTV9wxIAEvent[vtable for wxIAEvent]+0x8)||undefined reference to `wxIAEvent::GetClassInfo() const'| Пересоздавал проект либы по разному(как WX-проект, как Static Lib через визард), результат одинаковый. Погуглил, поприменял советы, но так ничего и не получилось. В чем засада? |
|||
|
||||
| t_rex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 11.10.2006 Где: Украина, г. Запор ожье Репутация: 2 Всего: 7 |
Ммм.. на вид похоже что у тебя библы не в той последовательности идут. Попробуй wxIA поставить в начале списка. Ммм.. также думаю стоит посмотреть на сорцы wxIAEvent и проверить все ли директивы компилятора, необходимые для включения этого класса, указаны в настройках коомпилятора
--------------------
Жизнь не MultiEdit. Undo не сделаешьКросс-платформенное программирование с wxWidgetsБлог о программировании для мобильных устройтсвGoogle Android для программистов и пользователей |
|||
|
||||
| JavaCraft |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 8.2.2007 Репутация: нет Всего: 1 |
У меня эта библа вначале списка. А в какой последовательности правильно?
Еще не понятна реакция линкера на опции Prepend и Append target options to project options. Когда было везде Append, но для Linker Settings - Prepend, то выдавалась только одна вышеуказанная ошибка. Когда я сделал и для линкера Append, то стало намного больше ошибок. Вроде всё правильно, опции цели должны идти после общих опций проекта.
Если переместить libwxia.a в середину т.е. поставить перед libwxpng то первонаяальная ошибка пропадает, но все остальные остаются А если вернуть Prepend, то появляется первоначальная, но пропадают все остальные. Шаманство какое-то. Как (автоматически)определить правильный порядок опций и линковки? Я затрудняюсь анализировать зависимости. |
||||||
|
|||||||
| t_rex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 11.10.2006 Где: Украина, г. Запор ожье Репутация: 2 Всего: 7 |
Это из libadvapi32.a У тебя точно все нужные виндовые либы добавлены? Я думаю надо посмотреть на что ругается и найти в MSDN в каких библиотеках эти ненайденные функции и дописать эти библиотеки в список в конец --------------------
Жизнь не MultiEdit. Undo не сделаешьКросс-платформенное программирование с wxWidgetsБлог о программировании для мобильных устройтсвGoogle Android для программистов и пользователей |
|||
|
||||
| JavaCraft |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 8.2.2007 Репутация: нет Всего: 1 |
Либы были добавлены автоматически. Эта либа присутствует.
В предыдущем посте я написал, что если изменить политику линковки, то эти ошибки пропадают, другие появляются и наоборот, т.е. проблем с либами нет, но есть проблемы с их линковкой. Возможно, тонкости применения Append|Prepend опций это особенность GNU GCC, а там всё не так явно, как кажется. Пока не разобрался.
Ничего необычного в этом классе нет. Это потомок wxEvent. Какие ему специальные настройки нужны?
Кстати, может это и не относится к делу, но из всех компонентов упоминаемых в ошибках, связанных с libwxmsw29u_core.a, в моем проекте используются только app и textctrl, остальных нет нигде в папке проекта, ни в исходниках, ни в xml, ни в других файлах. Это сообщение отредактировал(а) JavaCraft - 24.11.2008, 12:53 |
||||||
|
|||||||
| JavaCraft |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 8.2.2007 Репутация: нет Всего: 1 |
Народ! Какие еще варианты есть?
Ато у меня только один остался - не использовать никакие компоненты кроме включенных в релиз и установить непонятный режим Prepend. Тогда работает. Еще бубен присматриваю. |
|||
|
||||
| t_rex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 11.10.2006 Где: Украина, г. Запор ожье Репутация: 2 Всего: 7 |
Слей проект на t-rex (бжж) wxwidgets.info
Попробую глянуть --------------------
Жизнь не MultiEdit. Undo не сделаешьКросс-платформенное программирование с wxWidgetsБлог о программировании для мобильных устройтсвGoogle Android для программистов и пользователей |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, 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. |