Как мне скомпилировать в бинарный файл x64 с платформы x86 под управлением VS2008 Pro? - PullRequest
3 голосов
/ 04 октября 2008

Я пытаюсь скомпилировать свои приложения (использующие сторонние библиотеки) для платформы x64. Однако выбор x64 из Build Configuration Manager из моего VS2008 Pro, похоже, не работает. Бинарный файл действительно создан, но мой клиент не смог запустить его на x64.

Интересно, могут ли быть причиной сторонние библиотеки DLL? У кого-нибудь есть идеи по этому поводу?

Ответы [ 5 ]

3 голосов
/ 04 октября 2008

У вас есть x64 версии сторонних библиотек? Если нет, вам не повезло. Процесс должен быть полностью x86 или x64, вы не можете смешивать и сопоставлять библиотеки. Если библиотеки являются DLL, то вам все еще нужны библиотеки экспорта из сборки x64.

Как не работает выбор конфигурации x64 в VS?

Обновлено: Если ваше приложение является .NET и не зависит от архитектуры, оно будет загружено как 64-битное в 64-битных ОС Однако, если он опирается на 32-битные библиотеки DLL, это не удастся во время выполнения. Вы можете заставить ваш exe-файл всегда загружать 32-битную версию с помощью утилиты corflags .

1 голос
/ 12 октября 2008

удалось определить источник проблемы. Это был один из параметров (Encrypt IL Code) в инструменте запутывания исходного кода (Intellilock 1.1.0.4), из-за которого двоичный файл не работал в среде x64.

Отключение этого параметра устранило проблему.

1 голос
/ 04 октября 2008

Как сказал Роб Уокер. Вы можете узнать больше, используя программу «зависящий» от SysInternals на компьютере x64.

0 голосов
/ 07 октября 2008

У моего приложения нет установщика. Я создал его как «портативное приложение» с .NET2.0 в качестве предварительного условия.

Я отправил тот же запрос продавцу. Все еще ожидаю, что они вернутся, если у них есть бит x64.

Тем временем я нахожусь в процессе покупки копии x64 Vista, чтобы лично проверить ее. Я не могу жертвовать своими пользователями, чтобы проверить это для меня. Я буду держать эту тему в курсе, как только у меня будут новые обновления.

Спасибо.

0 голосов
/ 04 октября 2008

«Выбор x64 в Build Configuration Manager из моего VS2008 Pro не работает»
Я не уверен, почему вы вообще получаете двоичные файлы, но помните, что инструменты x64 не установлены по умолчанию. Вернитесь и перезапустите программу установки VC2008, выполните выборочную установку и, под битом VC ++ дерева, убедитесь, что установлен флажок для 64-разрядного компилятора. Если это не так, проверьте его и запустите установку. Затем попробуйте свою сборку.

Вам нужны 64-битные версии сторонних библиотек DLL, и вам нужно правильно настроить все пути include и lib и ваши выходные папки, но установка инструмента - это первый шаг.

...