1

GDAL という名前のライブラリへのバインドに非常に必要であることがわかりました。 https://github.com/craig-dillabaugh/gdal

使用例がないのが難点。バインディングを使用したことがない前に。

dub.json には次の文字列が含まれます: "libs" : ["gdal"]

したがって、この名前の lib ファイルが必要なようです。

古いコミットで、吹き替えなしのコンパイルの例を見つけました:dmd test_gdal_d.d gdal.d -L-ldgal

元の gdal ディストリビューションには、そのような名前の lib は含まれていません。gdal111.dlllibしかありません。だから私はそれをに変換しましimplibgdal111.lib。コマンド付きimplib /s gdal111.lib gdal111.dll

11MB lib から 1MB のサイズになります。

Dependency Walker を使用して、シンボルの表を見ました。GDALGetRasterXSize 次のコマンドですべてをビルドしようとしているようなシンボルがあります:

dmd D:\code\binding\gdal-master\gdal-master\source\App.d D:\code\binding\gdal-master\gdal-master\source\gdal.d -L -Igdal111.lib

しかし、次のエラーが発生しています:

D:\code\binding\gdal-master\gdal-master>dmd D:\code\binding\gdal-master\gdal-master\source\App.d D:\code\binding\gdal-master\gdal-master\source\gdal.d -L -Igdal111.lib OPTLINK (R) for Win32 Release 8.00.17 Copyright (C) Digital Mars 1989-2013 All rights reserved. http://www.digitalmars.com/ctg/optlink.html App.obj(App) Error 42: Symbol Undefined _GDALClose App.obj(App) Error 42: Symbol Undefined _GDALGetRasterCount App.obj(App) Error 42: Symbol Undefined _GDALGetRasterXSize App.obj(App) Error 42: Symbol Undefined _GDALGetRasterYSize App.obj(App) Error 42: Symbol Undefined _GDALOpen App.obj(App) Error 42: Symbol Undefined _GDALAllRegister App.obj(App) Error 42: Symbol Undefined _GDALIdentifyDriver App.obj(App) Error 42: Symbol Undefined _GDALCreate --- errorlevel 8

ここにすべてのものを含むアーカイブを置きますhttp://dlang.ru/gdal-d-binding.zip

UPD: GDALを実行しました!!!

例でadd string: pragma( lib, "libgdal.lib" );の要点を説明すると、実行されます。すぐに、いくつかのコードを github にプッシュしたいと考えています。

4

1 に答える 1