FreeBasic
Главная
Вход
Регистрация
Суббота, 21.12.2024, 17:51Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Использование разных версий одной и той же библиотеки
WQДата: Понедельник, 13.04.2015, 13:57 | Сообщение # 1
Полковник
Группа: Проверенные
Сообщений: 215
Репутация: 7
Статус: Offline
Есть две библиотеки с функциями на основе экспорта из C.

Обе выглядят примерно так:

extern "C" lib lib1
declare function  funct1() 
declare function  funct2() 
...
end extern

Так получается, что нужно использовать сразу 2 версии
Проблема в том, что функции при декларации получают одинаковые имена - в исходных С-либах они одинаковые.

Знаю, можно одну из них скомпилировать в dll и обойти эту проблему.
А нет ли еще какого-то способа?
 
haavДата: Понедельник, 13.04.2015, 16:13 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Репутация: 50
Статус: Offline
Похоже такая запись не прокатит:


Код
declare sub q Lib "One" alias "ONE" ()
declare sub q1 Lib "OneOld" alias "ONE" ()


Компиль попросту будет использовать только верхнюю декларацию. Так что наверно только в DLL вторую либу собирать.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
WQДата: Понедельник, 13.04.2015, 23:40 | Сообщение # 3
Полковник
Группа: Проверенные
Сообщений: 215
Репутация: 7
Статус: Offline
Понятно. 
Собственно, речь опять о моей любимой IUP. 
Для GUI использую старую версию 3.5, а для диалога выбора шрифта 3.12, потому что старая не дружит с win 8
Сначала 3.12 вызывал из dll , а теперь я дошел до того, что смог использовать статическую libiup.a 3.12
(скомпилированную и выложенную самими создателями IUP, что удобно). А вот полностью разобраться со всеми этими  .a либами и переписать полноценную 3.12-3.13 для использования в FB пока не могу, но вроде смысл всех этих конструкций наконец дошел до меня smile

С другой стороны, удалось сделать последнюю fltk внедряемой в файл программы без необходимости таскать dll. Переписал несколько тысяч функций wacko
Однако даже упакованные файлы получаются больше 500 кб, многовато.
 
  • Страница 1 из 1
  • 1
Поиск: