D 언어와 함께 사용하려는 작은 DLL이 있습니다. 나는이 난에 액세스 할 수있는 파일입니다 그들이 내 프로그램 :D에서 Windows DLL을 사용하는 올바른 방법은 무엇입니까?
- b3d.dll
- blitz3dsdk.exp
- blitz3dsdk과 같은 디렉토리에 존재하는 C로 작성되었습니다 있으리라 믿고있어 lib 디렉토리
- blitz3dsdk.h
여기에 내가이 DLL을 사용하는 D를 얻기 위해 시도했다입니다.
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이나 도움이되는 최신 온라인 가이드를 사용하는 방법에 대한 아이디어가 있으면 감사하겠습니다. 네이티브 코드와 공유 라이브러리 등을 만지작 거리던 지 꽤 오래되었습니다.