OberonCore
https://forum.oberoncore.ru/

Использование .so из виндового ББ посредством wine-dll
https://forum.oberoncore.ru/viewtopic.php?f=34&t=2940
Страница 1 из 1

Автор:  Евгений Темиргалеев [ Четверг, 28 Октябрь, 2010 15:10 ]
Заголовок сообщения:  Использование .so из виндового ББ посредством wine-dll

Идею где-то здесь выдал тов. Роман М. Очень интересно.

На днях попытался осилить ---- http://www.winehq.org/docs/winelib-guide/bindlls :
1) В качестве простейшего примера приводится написание libx.dll.so --- wine-dll обёртки для (lin) libx.so, которая будет использована виндовым приложением под wine вместо (win) libx.dll
2) Для получения Makefile рекомендуется winemaker, который "do the hard work for us". Более подробных инструкций/примеров мне пока найти не удалось...
Идея состоит в написании wine-dll-обёртки к стандартным линуховым библиотекам, со всеми вытекающими...

Результаты (на x64 Ubuntu 10.04):
1) winemaker сгенерировал не рабочий Makefile. Изначально "оно" собирает x32-код, как, по-идее и должно быть. С какого-то момента, как я понял, про x32 забыли, и стандартные средства пытаются слепить стандартные x64
Код:
...
/usr/bin/ld: Relocatable linking with relocations from format elf32-i386 (test.o) to format elf64-x86-64 (test.iqj6It.o) is not supported
winebuild: /usr/bin/ld -r failed with status 256
winegcc: winebuild failed

2) После пары дней прыгания с бубном около найденной документации в ожидании прозрения :) удалось получить одну строчку, которая таки собирает test.dll.so
Код:
winegcc -m32 -shared  -Wl,-soname,test.dll.so -o test.dll.so test.c

3) Получившаяся dll даже грузится, но извлекание адресов процедур не срабатывает.

Голову ломать надоело... Если кто-то в курсе проблемы или желает перенять эстафету по поиску её решения --- отпишитесь. Тогда оформлю черновики получше и выложу в коллекцию как базу для подсистемы-учебного-примера.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/