The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск Wine 8.20, opennews (??), 11-Ноя-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


59. "Выпуск Wine 8.20"  +/
Сообщение от adolfus (ok), 11-Ноя-23, 13:32 
Чувак, речь идет о переносимых приложениях, которые собираются из одних исходников и для linux, и виндовс, причем, как для 32-разрядных, так и для 64-разрядных. Один из этапов тестирования -- автоматический запуск виндовых вариантов под wine.
Скажи лучше, как в виндовсах раскидать по системе 32-разрядные и 64-разрядные .dll с одинаковыми именами? Вот, например, есть libgsl.dll PE32 и libgsl.dll PE+. Куда их нужно положить, чтобы они не мешали друг другу, а программы соответствующей разрядности из нашли?
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

66. "Выпуск Wine 8.20"  +/
Сообщение от Аноним (21), 11-Ноя-23, 13:49 
Посмотри как студия запускается. Оно тебе надо?
Ответить | Правка | Наверх | Cообщить модератору

76. "Выпуск Wine 8.20"  +/
Сообщение от Третий П (?), 11-Ноя-23, 14:19 
> Один из этапов тестирования -- автоматический запуск виндовых вариантов под wine.

Зачем самому виндоприложению (его разработчикам) тестирование под вайном? Неработа приложения под вайном - это проблемы вайна, а не приложения. Тем более, если оно кроссплатформа и собирается под линукс. Так и собирайте под свой линукс. Зачем вам тогда вайн вообще? А когда люди пишут приложение для виндовз, они наверняка вообще не думают о том, будет или нет оно запускаться под вашим вайном. Проблемы индейцев.
Честно, я не очень понял, что вы хотели мне доказать.

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

83. "Выпуск Wine 8.20"  +/
Сообщение от DESKTOP3HBS8ID (?), 11-Ноя-23, 14:51 
Wine вообще далеко не только под Linux есть. Та же бутылка под яблоком это ведь тот же Вайн, вы в курсе? Так что сборка под Линь и сборка под Вайн оправданны.
Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск Wine 8.20"  +/
Сообщение от Третий П (?), 11-Ноя-23, 16:19 
>  Чего молчим? Не знаем? Так поешь желудей.

Так это же ты спрашиваешь. Значит, ты не знаешь. Так оближи бутылочку.

Ответить | Правка | Наверх | Cообщить модератору

100. "Выпуск Wine 8.20"  +/
Сообщение от Третий П (?), 11-Ноя-23, 16:20 
Это не тебе, а нижнему адольфычу.
Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск Wine 8.20"  +/
Сообщение от adolfus (ok), 11-Ноя-23, 16:13 
> Зачем самому виндоприложению (его разработчикам) тестирование под вайном?

Потому что виндоприложение собирается в линуксе mingw-тулзами. Если оно будет нормально работать под вайном, то и в виндовсах все будет пучком.
А собирается в линуксе mingw-тулзами потому, что gcc и ld в линуксе работают в разы быстрее, нежели компилятор и линкер студии -- время, оно, как известно, деньги.
Да и отдельный комп с виндовсами держать ради прогнать тесты как-то некузяво.

Так как раскидать в системе библиотеки разной битности с одинаковым именем? Чего молчим? Не знаем? Так поешь желудей.

Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

101. "Выпуск Wine 8.20"  +/
Сообщение от Третий П (?), 11-Ноя-23, 16:21 
>  Чего молчим? Не знаем? Так поешь желудей.

Так это же ты спрашиваешь. Значит, ты не знаешь. Так оближи бутылочку.

Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск Wine 8.20"  +1 +/
Сообщение от Аноним (81), 11-Ноя-23, 14:34 
> Куда их нужно положить, чтобы они не мешали друг другу, а программы соответствующей разрядности из нашли?

Их нуждно положить в директории соответствующих прог (грубо говоря - положить рядом с exe'шником).
Не работать этот метод будет только если автор проги целенаправленно сделал его неработоспособным (сознательно или по криворукости). Но тогда вопросы к авторам проги, так ведь?

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

98. "Выпуск Wine 8.20"  +/
Сообщение от adolfus (ok), 11-Ноя-23, 16:17 
Эта пестня хороша, начинай сначала.
Еще раз для тех, кто в танке:
Несколько экзешников разной разрядности (PE32 и PE+) лежат в одном каталоге. Каждый из них использует динамическу библиотеку libgsl.dll. 64-разрядные используют 64-разрядную, а 32-рахзрядные -- 32-разрядную. Обе имеют имя libgsl.dll. И как я их обе положу рядом?
Ответить | Правка | Наверх | Cообщить модератору

110. "Выпуск Wine 8.20"  +/
Сообщение от Аноним (9), 11-Ноя-23, 17:49 
Тут в танке кто-то другой имхо. Сделай exe-шникам одинаковое имя, как и dll-ям. Задача заиграла новыми новыми красками? Зато решение очевидно - положить это дело в разные папочки.
Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск Wine 8.20"  +/
Сообщение от adolfus (ok), 12-Ноя-23, 23:09 
> Тут в танке кто-то другой имхо. Сделай exe-шникам одинаковое имя, как и
> dll-ям. Задача заиграла новыми новыми красками? Зато решение очевидно - положить
> это дело в разные папочки.

Так я и спрашиваю -- в какие папочки внутри c:/windows/??? их положить? PE32+ я знаю куда -- в system32, а куда положить PE32?

Ответить | Правка | Наверх | Cообщить модератору

163. "Выпуск Wine 8.20"  +/
Сообщение от Аноним (9), 13-Ноя-23, 11:08 
Про системные каталоги началось только сейчас.

https://learn.microsoft.com/en-us/windows/win32/winprog64/fi...

Ответить | Правка | Наверх | Cообщить модератору

168. "Выпуск Wine 8.20"  +/
Сообщение от Аноним (81), 13-Ноя-23, 15:00 
У меня для тебя страшная новость (я её тут в соседнем комменте уже написал, но не поленюсь повторить):
Нельзя положить два РАЗНЫХ файла (а твои либы разной разрядности - разные файлы) с ОДИНАКОВЫМ имененем в один каталог.

Именно поэтому я тебе выше предложил положить либы в папки к прогах. И объяснил вкратце, в каких случаях это может не сработать и почему (на всякий случай повторю и это, а то ты не факт что и это в первый раз прочитал: потому, что там сделал создатель проги, намеренно или случайно. Но тогда и вопросы к нему.).

Ответить | Правка | К родителю #149 | Наверх | Cообщить модератору

167. "Выпуск Wine 8.20"  +/
Сообщение от Аноним (81), 13-Ноя-23, 14:53 
> Несколько экзешников разной разрядности (PE32 и PE+) лежат в одном каталоге.

А чё это у тебя либы с одинаковым названием, а exe'шники - нет? Ты доводи тупую ситуацию до логического абсурда дальше, ага - переименуй exe'шники дав им одинаковое имя. А там уже приходи на опеннет с вопросом как тебе их положить в одну папку.

У тебя проги разные (как минимум по разрядности) - вот и клади их в разные папки.
Тебе надо:
1) положить кэзешники в разные папки.
2) подложить в папку к каждому из них либу требуемой разрядности.

P.S.
Ну хотя бы ты теперь в курсе, что два РАЗНЫХ файлы (а твои либы разных разрядностей - это РАЗНЫЕ файлы) не могут лежать в одном каталоге.

Ответить | Правка | К родителю #98 | Наверх | Cообщить модератору

82. "Выпуск Wine 8.20"  +/
Сообщение от Аноним (9), 11-Ноя-23, 14:42 
> Скажи лучше, как в виндовсах раскидать по системе 32-разрядные и 64-разрядные .dll
> с одинаковыми именами?

https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic...

> Вот, например, есть libgsl.dll PE32 и libgsl.dll PE+.

Переименовать?

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

102. "Выпуск Wine 8.20"  +/
Сообщение от adolfus (ok), 11-Ноя-23, 16:22 
> Переименовать?

Динамичеаский компоновщик виндовсов не поймет.

Ответить | Правка | Наверх | Cообщить модератору

108. "Выпуск Wine 8.20"  +/
Сообщение от Аноним (9), 11-Ноя-23, 17:45 
>> Переименовать?
> Динамичеаский компоновщик виндовсов не поймет.

В смысле, загрузчик? Так в импорте имя должно быть соответствующее. Вы тут ребята реально рвёте все шаблоны. Я понимаю, что собрать самому dll из исходников это непосильная задача, но подправить байтик в exe-шике любой виндовый чайник умеет.

Ответить | Правка | Наверх | Cообщить модератору

148. "Выпуск Wine 8.20"  +/
Сообщение от adolfus (ok), 12-Ноя-23, 23:02 
>>> Переименовать?
>> Динамичеаский компоновщик виндовсов не поймет.
> В смысле, загрузчик? Так в импорте имя должно быть соответствующее. Вы тут

Нет, не загрузчик, а динамический компоновщик.Загрузчик загружает исполняемый файл, настраивает статику, а потом загружает и передает управление динамическому компоновщику, который подключает dll к программе.
> ребята реально рвёте все шаблоны. Я понимаю, что собрать самому dll
> из исходников это непосильная задача, но подправить байтик в exe-шике любой
> виндовый чайник умеет.

Я сам их и собираю. ELF, PE32 и PE32+. И менять имена даже и не думаю -- заказчик не поймет.

Ответить | Правка | Наверх | Cообщить модератору

164. "Выпуск Wine 8.20"  +/
Сообщение от Аноним (9), 13-Ноя-23, 11:22 
>>>> Переименовать?
>>> Динамичеаский компоновщик виндовсов не поймет.
>> В смысле, загрузчик? Так в импорте имя должно быть соответствующее. Вы тут
> Нет, не загрузчик, а динамический компоновщик.Загрузчик загружает исполняемый файл, настраивает
> статику, а потом загружает и передает управление динамическому компоновщику, который подключает
> dll к программе.

Я не понял, что такое "статика", но образ отображает в память функция LdrLoadDll - на этом этапе и требуется имя файла. Поиск экспортируемой функции по её имени осуществляет LdrGetProcedureAddress. Как видно из префикса, это всё загрузчик.

Ответить | Правка | Наверх | Cообщить модератору

158. "Выпуск Wine 8.20"  +/
Сообщение от Электрон (?), 13-Ноя-23, 02:54 
> Скажи лучше, как в виндовсах раскидать по системе 32-разрядные и 64-разрядные .dll с одинаковыми именами?

%windir%\System32 и %windir%\SysWOW64. Остальное сделает винда через свои нагромаждения shim-ов.

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

174. "Выпуск Wine 8.20"  +/
Сообщение от adolfus (ok), 16-Ноя-23, 18:08 
Спасибо. Похоже, это работает.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру