PDA

Показать полную графическую версию : Компиляция 64 битного приложения из 32 битных исходников


Psih-ya
03-01-2012, 18:03
Собственно, есть одна программа http://dm2.sourceforge.net/, которая имеет исходный код. Необходима её 64 битная версия для взаимодействия с 64 битным же проводником. В программировании смыслю мало. Методом в лоб (тупо скомпилировать) не получилось. Программа написана на Micro$oft Visual Studio v6.0 с SP6, компилируется Microsoft Visual Studio 2008.
Так вот, есть ли простые способы решить эту задачу?

Delirium
03-01-2012, 19:11
Задача задействовать возможности этой программы(сворачивание не в трей, а в плавающее окно), или просто принципиально перевести ее на х64 платформу?

Psih-ya
03-01-2012, 19:53
Задача задействовать возможности этой программы(сворачивание не в трей, а в плавающее окно), или просто принципиально перевести ее на х64 платформу? »

Скорее задействовать возможности. Но не плавающее окошко, а остальные, типа сворачивания в трей, управление прозрачностью и приоритетом из меню и прочее. А так как 32 битные процессы не могут получить доступа к 64, то, как я понимаю, надо сделать её 64 битной.

Delirium
06-01-2012, 05:39
Может я и ошибаюсь, но вроде бы Anvir task manager (http://www.anvir.net/) умеет делать все вышеперечисленное, помимо основной задачи. Посмотри, вдруг подойдет.
Если же нет, то кидай исходники, посмотрим, что можно сделать.

Psih-ya
06-01-2012, 07:11
Может я и ошибаюсь, но вроде бы Anvir task manager умеет делать все вышеперечисленное, помимо основной задачи. Посмотри, вдруг подойдет. »

Больно толстая она. Да и подтормаживает по непрофильному функционалу, в смысле допкнопки часто появляются с заметной задержкой. И вес больше 10 МБ, против 128 КБ (удалены ненужные плагины и локали) у dm2. Ну и у dm2 через плагин можно назначить сочетание клавиш на регулировку громкости. Так что не вариант.

Если же нет, то кидай исходники, посмотрим, что можно сделать. »

На оффсайте лежат, файл dm2-all-1.23.1.zip (http://sourceforge.net/projects/dm2/files/dm2/v1.23.1/dm2-all-1.23.1.zip/download) в по адресу http://sourceforge.net/projects/dm2/files/dm2/v1.23.1/
И вот ещё: Microsoft Visual Studio 2008 компилирует 32 битную версию только debug, релизная же конфигурация компилируется только Visual Studio v6.0.
Visual Studio 2008 при компиляции дебажной версии выдаёт файлы размером больше оригинальных: ~150 КБ против 90,5 у оригинала у самой программы и 54 против 14 у dll.

Delirium
07-01-2012, 05:31
Visual Studio 2008 при компиляции дебажной версии выдаёт файлы размером больше оригинальных: »
так и должно быть, отладочная версия всегда больше релиза.

Исходники скачаем, попробую вечером.

Psih-ya
04-06-2012, 01:49
И как?

XPEHOMETP
04-06-2012, 16:10
Идиотский, может быть, вопрос. А из-за чего весь сыр-бор? 32-битные программы нормально понимаются 64-битными Виндоуз. Работают, и проводник их нормально запускает. В чем, собственно, сама проблема, требующая неотложной 64-битной перекомпиляции? Я лично ее не вижу.

Psih-ya
04-06-2012, 16:30
Проводник 64 битный, а 32 битные процессы не могут получить доступа к 64 битным.
Была бы просто программа, я бы не парился, но эта программа взаимодействует с проводником, который в х64 внезапно 64 битный. Собственно это и написано в первом посте.

XPEHOMETP
06-06-2012, 13:56
Проводник в х64 - штука, которая обязана учитывать запуск 32-битных программ. Наверно, и взаимодействие с ними. Не влезал в нюансы, не знаю. Какие конкретно вылезают ошибки, укажите. Почему взаимодействие именно с данной версией не реально. Возможно, это глюки плохо написанной программы, а не результат непонимания 32-битной программы 64-битным проводником. Последнее, как я уже говорил, очень мало вероятно.

ЗЫ: По какому методу организовано взаимодействие этой программы с проводником? У Мелкомягких полно старых отработанных механизмов, типа OLE. Нормально работающих со всеми 32-битными программами. И даже на 64-битной Винде. Немного конкретики, пожалуйста. А то придется телепатов вызывать.

Psih-ya
06-06-2012, 17:01
Наверно, и взаимодействие с ними »

Вот- вот.

Какие конкретно вылезают ошибки, укажите. »

Дополнительные пункты в меню управления окном появляются, но не работают.
Так же не работают действия по кликам другими кнопками мыши по кнопкам управления окнами.
Горячие клавиши работают.

Возможно, это глюки плохо написанной программы, »

На 32 битах работает ровно, иначе бы я сюда не писал бы.

По какому методу организовано взаимодействие этой программы с проводником? У Мелкомягких полно старых отработанных механизмов, типа OLE. Нормально работающих со всеми 32-битными программами. И даже на 64-битной Винде. Немного конкретики, пожалуйста. А то придется телепатов вызывать. »

Методы работы я не знаю, но телепаты не нужны- выше выложены ссылка на оффсайт с исходниками и отдельно сами исходники программы.

El Scorpio
07-06-2012, 03:47
Методом в лоб (тупо скомпилировать) не получилось. »
А что именно "не получилось" в 64x среде разработки?
Ошибки компиляции появились или что-то другое?

Psih-ya
07-06-2012, 16:56
Ошибки компиляции появились или что-то другое? »

Ну да, ошибки. Релизная версия так же выдаёт ошибки в Microsoft Visual Studio 2008 при компиляции 32 битной версии.

El Scorpio
08-06-2012, 05:44
Psih-ya, значит их нужно исправить

Я прямо Капитан Очевидность




© OSzone.net 2001-2012