Динамические библиотеки, Как кросплатформаено пользоваться библиотекой |
Здравствуйте, гость ( Вход | Регистрация )
Динамические библиотеки, Как кросплатформаено пользоваться библиотекой |
alexy |
4.8.2010, 18:29
Сообщение
#1
|
Студент Группа: Участник Сообщений: 44 Регистрация: 4.8.2010 Пользователь №: 1931 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток
Для моего проекта самое лучьшее решение - это использовать одну библиотеку динамческую и несколько приложений, которые ею бы пользовались. В ней должны быть несколько диалогов, классы, реализующие сущности программы (эти классы читают данные из базы данных SQLite). Для всего этого я пользуюсь code::blocks'ом, ну и соответственно wxwidgets Вопрос: можно ли создать один проект в нем, чтобы просто компилть его на разных платформах и все было бы путем (в линукс на сколько я понимаю никаких __declspec(dllimport) нет)? И как классы загружать при помощи wxdynamiclibrary? У меня кстати почему-то не получается создать библиотеку нормальным путем. Если выбираю при создании проекта динамическую бблиотеку, то при использовании в ней wxwidgets она перестает компилится. нужно только гуи приложение создать, а потом в билдтаргатах переделать что она мол библиотека. Помогите, плиз. Давно мучаюсь, ничего не могу сделать. в инете на эту тему почти ничего нет как буд-то никто с этими библиотеками не работает |
|
|
alexy |
6.8.2010, 16:34
Сообщение
#2
|
Студент Группа: Участник Сообщений: 44 Регистрация: 4.8.2010 Пользователь №: 1931 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо
Вообще везде пишут, что можно написать функцию в нутри библиотеке, которая просто вернет указатель на новый, созданный объект, и тогда надо импортировать только её. Ну я сразу подумал, что тогда можно реализовать таким образом оператор new. А потом подумал, что вообще - пишешь класс, в конце пишешь макрос, который создает на основе шаблона и загружающюю для него функцию и нужный оператор new. Таким образом можно было бы совершенно прозрачно использовать класс из динамической библиотеки. И, конечно, этот макрос может определять и платформу и соответственно генерить класс, чтобы не было проблемм с таблицей импорта (__declspec) Наверное мне не одному такая идея в голову пришла: может такое уже реализованно где-то? В бусте я ничего не нашел для работы с библотеками а в виджетах просто какой-то класс, который позволяет загружать функции из нее, но такого нет |
|
|
Текстовая версия | Сейчас: 25.11.2024, 16:10 |