Russian Qt Forum
Ноябрь 26, 2024, 05:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: DLL 32/64  (Прочитано 13809 раз)
Akon
Гость
« Ответ #15 : Февраль 07, 2011, 21:21 »

переименовать либы: theLib32.dll и theLib64.dll
implib для lib из dll (implib - тулза из состава MSVC).
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #16 : Февраль 07, 2011, 21:39 »

Не знаю этих причин... Но почему не сделать так?

AppDir
   App.bat             Пускалка запускает нужный exe-шник.

   Share (folder)         Общие данные
   32bit (folder)         32-битный код
      TheLib.dll
      App.exe
   64bit (folder)         64-битный код
      TheLib.dll
      App.exe
      
Потому что это нормально для Вындоуз, а на Mac этой проблемы нет (universal binary). Держать разные организации файлов под 2 платформы - обойдется недешево
Записан
BRE
Гость
« Ответ #17 : Февраль 07, 2011, 21:42 »

Держать разные организации файлов под 2 платформы - обойдется недешево
А если еще и linux держать придется, то и третья организация понадобиться.  Улыбающийся
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #18 : Февраль 08, 2011, 01:08 »

А зачем поставлять две версии одного и тоже и это одно и тоже должно еще жить в одной папке? Если у заказчика х86_64 то как помне достаточно одной (любой из 2х) сборки. Если у заказчика платформа х86, то не понятно, зачем ему нужна х86_64 сборка.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #19 : Февраль 08, 2011, 01:38 »

переименовать либы: theLib32.dll и theLib64.dll
implib для lib из dll (implib - тулза из состава MSVC).
Akon, спасибо за конструктивный совет, сейчас изучаю/разбираюсь. когда будут результаты - отпишусь.

А зачем поставлять две версии одного и тоже и это одно и тоже должно еще жить в одной папке? Если у заказчика х86_64 то как помне достаточно одной (любой из 2х) сборки. Если у заказчика платформа х86, то не понятно, зачем ему нужна х86_64 сборка.
Резоны есть. Если напр. у пользователя объемы данных относительно невелики а RAM всего 2-4Gb, то ему прямая выгода использовать 32 битную версию - и памяти жрет меньше и все плагины на месте. А если хочет "до упора" (и имеет железо покруче) - ну тогда 64. Также 64-битной версии (иногда) нужен сервис 32 (не все портировано). Поэтому "разделить" не получится

Edit: обе версии (32/64) прекрасно "живут вместе" на 1 машине (как на OSX так и на WinXP64)
« Последнее редактирование: Февраль 08, 2011, 01:43 от Igors » Записан
Waryable
Гость
« Ответ #20 : Февраль 08, 2011, 15:46 »

Не очень я понял структуру каталогов. Но если расположение ехе-dll регулярно то почему бы не прошить в коде путь относительно QCoreApplication::applicationFilePath. Глубоко в доки не лез, но вроде кросплатформенное.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #21 : Февраль 09, 2011, 06:17 »

После отчаянных но бесплодных попыток понять ну как же работает мелкософтовский манифест разрулил так:

1) Переименовал theLib.dll в theL32.dll и theL64.dll соответственно
2) Зашел hex редактором в lib файлы и поменял везде theLib.dll на theL32.dll (theL64.dll)

Заработало. Понимаю - грубейшее нарушение GPL и все такое. Но не тащить же корову на баню с батниками и.т.п.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #22 : Февраль 09, 2011, 08:15 »

За тобой уже выехали, суши сухари.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #23 : Февраль 09, 2011, 08:40 »

За тобой уже выехали, суши сухари.
Да я поговорил с авторами dll-ки (нормальные пацаны) так что может как-нибудь обойдется  Улыбающийся
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #24 : Февраль 09, 2011, 08:47 »

Да пацаны не при чем. Ты гнев Столмана накликал. Улыбающийся
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.054 секунд. Запросов: 23.