我有一個小的dll,我想用D語言。我假設它已經用C寫的這些都是我要訪問的文件和它們在同一目錄作爲我的程序:在D中使用windows dll的正確方法?
- b3d.dll
- blitz3dsdk.exp
- blitz3dsdk存在的.lib
- blitz3dsdk.h
這裏就是我試圖讓d使用此DLL。
test.d
pragma(lib, "blitz3dsdk.lib");
int main(string[] Args)
{
bbBeginBlitz3D();
bbEndBlitz3D();
return 0;
}
編譯: DMD test.d -w -Wi -debug
結果:Error 43: Not a Valid Library File.
Blitz3D SDK.d
module Blitz3DSDK;
// __declspec(dllimport) int bbBeginBlitz3D() - from the header file.
export extern (Windows) int bbBeginBlitz3D();
// __declspec(dllimport) void bbEndBlitz3D() - from the header file.
export extern (Windows) void bbEndBlitz3D();
test.d
import Blitz3DSDK;
int main(string[] Args)
{
bbBeginBlitz3D();
bbEndBlitz3D();
return 0;
}
編譯: DMD test.d -w -wi -debug
結果:Error 42: Symbol Undefined [email protected]
Error 42: Symbol Undefined [email protected]
任何想法如何使用此DLL或任何有用的最新在線指南,將不勝感激。這是一段時間,因爲我已經擺弄了本地代碼和共享庫等。