Какое то время назад пытался написать библиотечку использующую wxWidgets которая должна была работать отдновременно с программами использующими и не использующими wxWidgets, в Debug и Release вариантах. После долгого шаманства и копания по форумам дело кончилось добавлением функции InitWidgets которую главная софтина вызывает только если сама виджеты не использует. Однако проблема с несоответствием режимов сборки осталась.
Может кто нибудь знает нормальный переносимый способ самоинециализации библиотеки так чтобы она ни счем не конфликтовала и в ней нормально работали UDP и TCP/IP сокеты.
По сей день в синхронном режиме в библиотеке по-человечески не работают, пришлось писать собственные.
DLL on wxWidgets
DLL on wxWidgets
wxMSW 2.8.7 on VC2005
-
- wxWorld Domination!
- Posts: 1471
- Joined: Tue Nov 14, 2006 7:58 am
- Location: Saint-Petersburg, Russia
Re: DLL on wxWidgets
Привет,
Ну тут еще важное значение имеет какой способ линковки wx библиотеки используется (dll or static). А также всякие другие тонкости (особенно если сам exe виджетами не пользуется), ну к примеру, один или несколько wx dll-ек будет при этом юзаться. В общем, для нетривиальных конфигураций (а тривиальная реально только одна - exe и dll-ки юзают wx и wx библиотеки везде линкуются динамически, в этом случае у меня никогда проблем не возникало) приходится шаманитьteolog wrote:Какое то время назад пытался написать библиотечку использующую wxWidgets которая должна была работать отдновременно с программами использующими и не использующими wxWidgets, в Debug и Release вариантах. После долгого шаманства и копания по форумам дело кончилось добавлением функции InitWidgets которую главная софтина вызывает только если сама виджеты не использует. Однако проблема с несоответствием режимов сборки осталась.
Все-таки, хотелось бы знать, для какой конфигурации? Если речь идет о любом возможном сочетании, то, я такого решения пока не знаю (да просто и не приходилось с таким сталкиваться), возможно, такого решения просто нетteolog wrote: Может кто нибудь знает нормальный переносимый способ самоинециализации библиотеки так чтобы она ни счем не конфликтовала и в ней нормально работали UDP и TCP/IP сокеты.
OS: Windows XP Pro
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
Re: DLL on wxWidgets
Сочитание простое wxWidgets в dll.tan wrote:Привет,
Ну тут еще важное значение имеет какой способ линковки wx библиотеки используется (dll or static). А также всякие другие тонкости (особенно если сам exe виджетами не пользуется), ну к примеру, один или несколько wx dll-ек будет при этом юзаться. В общем, для нетривиальных конфигураций (а тривиальная реально только одна - exe и dll-ки юзают wx и wx библиотеки везде линкуются динамически, в этом случае у меня никогда проблем не возникало) приходится шаманить
Все-таки, хотелось бы знать, для какой конфигурации? Если речь идет о любом возможном сочетании, то, я такого решения пока не знаю (да просто и не приходилось с таким сталкиваться), возможно, такого решения просто нет
Библиотечка тоже dll.
Программы либо не используют виджетов вообще, либо только те-же с таким же способом линковки. Библиотечка на всех одна и способа узнать кто её поднимает нет.
wxMSW 2.8.7 on VC2005
Из wx-приложения все всегда пашет как часы- инициализация в основном модуле. тут трабла в том что должно работать в обоих случаях.ONEEYEMAN wrote:Привет,
Насчет TCP/IP/UDP не знаю но у меня работает GUI-библиотека в M$W/*nix на wx которая вызывается из wx-приложения (тоже GUI).
Все работает как часы...
wxMSW 2.8.7 on VC2005
-
- wxWorld Domination!
- Posts: 1471
- Joined: Tue Nov 14, 2006 7:58 am
- Location: Saint-Petersburg, Russia
Привет.
Я тут подумал, что в таком варианте надо делать DLL статическм слинкованной с wx библиотекой, тогда у тебя в любом случае в ней будет своя собственная копия библиотеки. Инициалиализируй ее в dll и все должно работать, независимо от того откуда это вызвано. В этом случае, конечно, будут определенные ограничения, но, поскольку, это предполагается использовать и в wx и не wx это не должно быть проблемой.teolog wrote: Из wx-приложения все всегда пашет как часы- инициализация в основном модуле. тут трабла в том что должно работать в обоих случаях.
OS: Windows XP Pro
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10