2
我正在使用C++ Builder XE4,嘗試使用某些導出的函數創建64位DLL。無法在C++ Builder 64位DLL中導出函數
下面是一些測試代碼:
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
extern "C" __declspec(dllexport) __stdcall void Test()
{
// do smth
}
我創建兩個DLL文件,一個具有32位,其他的目標平臺 - 與64位的目標平臺,然後檢查這兩個DLL文件與IMPDEF。可執行程序。
隨着32位的DLL一切正常,我看到這個CMD:
EXPORTS
Test
___CPPdebugHook
隨着64位的DLL的所有我看到的是:
EXPORTS
有什麼可以的原因爲此,以及在Embarcadero C++中創建64位DLL的正確方法是什麼?
非常感謝。
感謝您的回覆!我可以看到導出的函數與依賴walker,這兩個32位和64位版本的程序在打開我的dll時給我以下錯誤: 錯誤:至少有一個需要的隱式或轉發的依賴項不是找到。 錯誤:由於隱式依賴模塊中缺少導出功能,至少有一個模塊具有未解析的導入。 錯誤:找到具有不同CPU類型的模塊。 無論如何,謝謝你的建議。 –
不要擔心這個錯誤。他們不是重要的問題。我甚至在VC++ dll上看過他們。 –
我有同樣的問題,它不允許我調試DLL!我如何強制這個包含在x64 dll中?我有幾個dll,我以同樣的方式創建。有些項目已經創建了這個變量(CPPdebugHook),其他項目不創建。 – GPB83