crossplatform.ru

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

> Динамические библиотеки, Как кросплатформаено пользоваться библиотекой
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)

Наверное мне не одному такая идея в голову пришла: может такое уже реализованно где-то? В бусте я ничего не нашел для работы с библотеками а в виджетах просто какой-то класс, который позволяет загружать функции из нее, но такого нет :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 25.11.2024, 16:10