2010-03-24 177 views
1

我有一個非託管C++ 32位應用程序,它可以生成一個dll。現在,我想爲64位系統構建它。我的開發系統是32位的。它使用oledb.lib activeds.lib adsiid.lib ws2_32.lib庫來構建dll。我迄今所做的是:更改配置設置並將Active解決方案平臺設置爲x64。它成功構建了應用程序。但我無法在64位機器上註冊該DLL。當我試圖這樣做,我得到了以下錯誤:將非託管C++代碼從32位轉換爲64位

無法加載DLL C:\ WINDOWS \ SYSTEM32 \ KBTicketExperience.dll

進程名稱:DLLHOST.EXE

Comsvc​​s.dll文件版本:ENU 2001.12.8530.16385 shp在組件註冊期間。無法驗證DLL入口點。

請問如何擺脫這個問題?提前致謝。

+6

什麼是* KBTicketExperience.dll,它爲什麼在System32中? – 2010-03-24 10:07:04

+0

您的64位應用程序是否仍在嘗試加載32位DLL? 64位應用程序/ DLL無法加載32位DLL,反之亦然。 – AshleysBrain 2010-03-24 13:51:36

+0

我也有這個問題。有沒有辦法在64位機器上使用32位DLL? – jp2code 2010-06-22 14:37:38

回答

0

我建議創建一個新的項目/工作區來構建這個64位通過和通過 - 沒有32位任何東西的DLL。假設這個項目工作的DLL,你可以更仔細地看看項目之間的差異,並從那裏得到。