2010-03-24 2 views
1

У меня есть неуправляемое 32-битное приложение на C++, которое создает dll. Теперь я хочу построить его для 64-битной системы. Моя система разработки - 32 бит. Он использует библиотеки oledb.lib activeds.lib adsiid.lib ws2_32.lib для создания dll. Что я сделал до сих пор: изменил параметры конфигурации и установил платформу Active solution на x64. Он успешно скомпилировал приложение. Но я не мог зарегистрировать dll на 64-битной машине. В то время как я пытался сделать это, я получил следующее сообщение об ошибке:Преобразование неуправляемого кода на C++ с 32 до 64 бит

Не удается загрузить DLL C: \ Windows \ System32 \ KBTicketExperience.dll

Имя процесса: dllhost.exe

Comsvcs.dll версии файла : ENU 2001.12.8530.16385 shp при регистрации компонента. Не удалось проверить точки входа в DLL.

Не могли бы вы рассказать мне, как избавиться от этой проблемы? Заранее спасибо.

+6

Что такое * KBTicketExperience.dll и почему это в System32? –

+0

Является ли ваше 64-разрядное приложение все еще пытается загрузить 32-разрядную DLL? 64-разрядные приложения/библиотеки DLL не могут загружать 32-разрядные библиотеки DLL и наоборот. – AshleysBrain

+0

У меня тоже есть эта проблема. Невозможно использовать 32-разрядную DLL на 64-битной машине? – jp2code

ответ

0

Я рекомендую создать новый проект/рабочее пространство для создания этой DLL, которая проходит через 64-разрядную версию, без 32-битного кода. Предполагая DLL, что этот проект работает, вы можете более внимательно изучить различия между проектами и получить оттуда.

Смежные вопросы