問題タブ [dub]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
d - DUB プロジェクトでパッケージのバージョンを定義する方法
dub.json ファイルの依存関係のリストを使用して、D/DUB プロジェクトにインポートされたパッケージのバージョン要件を指定する方法を知っています。
しかし: そもそもパッケージのバージョンを dub.json ファイルに定義するにはどうすればよいですか?
dll - 1 つの exe ですべてのライブラリを静的にリンクすることは可能ですか?
現在、D の私のプロジェクトには、さまざまなライブラリがたくさんあります。それらを静的にリンクして単一のexeにすることは可能ですか(サイズは問題ありません)。
どのコマンドを DMD に渡す必要がありますか、または DUB 構成で指定する方法はありますか?
windows - Dアプリケーションにアイコンを追加するには?
アプリケーションのexeファイルにアイコンを追加したいですか? どうすればできますか。ダブでアプリをビルドするときに自動的に追加されることを望みます。
c++ - D: D で C++ lib へのバインディングを使用するには?
GDAL という名前のライブラリへのバインドに非常に必要であることがわかりました。 https://github.com/craig-dillabaugh/gdal
使用例がないのが難点。バインディングを使用したことがない前に。
dub.json には次の文字列が含まれます:
"libs" : ["gdal"]
したがって、この名前の lib ファイルが必要なようです。
古いコミットで、吹き替えなしのコンパイルの例を見つけました:dmd test_gdal_d.d gdal.d -L-ldgal
元の gdal ディストリビューションには、そのような名前の lib は含まれていません。gdal111.dll
libしかありません。だから私はそれをに変換しましimplib
たgdal111.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 にプッシュしたいと考えています。
d - DUB を使用したガンボ d バインディング
プロジェクトでガンボ d を使用しようとしていますが、ダブが失敗します。
ダブ出力は次のとおりです。
ライブラリ ファイルをどこに置く必要があるのか、どのような形式にする必要があるのか、少しわかりません。gumbo-d 依存関係ディレクトリに .lib ファイルがあります。これはライブラリという意味ですか? もしそうなら、なぜリンカーはそれにリンクできませんか?
これが私のメインの dub.json ファイルの内容です (gumbo-d 依存関係を含むプロジェクト全体の場合)
そして、gumbo-d 依存関係の dub.json ファイルは次のとおりです。
static-libraries - DのCスタティックライブラリから関数をインポートしますか?
すでに静的ライブラリを OMF 形式に変換していますが、次のようなメッセージが表示されます。
プログラムには、既に使用したメソッドを使用したインポート関数があります。そして、別のライブラリでうまくいきました。
ライブラリが存在し、実際にこれらの機能が含まれています。coffimplib.exe でエクスポート/インポート リストを生成して確認しました。
何か案は?
monodevelop - リンク時にDMDがディスク上のランダムファイルを探す
約 20 分前に、自分のプロジェクトをコンパイルしようとしましたが、コンパイルされ、実行可能ファイルにリンクされました。3 つの D ソース ファイルを追加し、いくつかのコードを編集して、再コンパイルを試みました。失敗しました。それ自体は特別なことではありません。ただし、ビルド出力は次のとおりです。
Mono-Dを使用しています。私が試した他のプロジェクトは、完全にコンパイルされるようです。Dub がユーザー ディレクトリでソース ファイルを探している理由がわかりません。私の JSON ファイルは、依存関係として Derelict-Util (v2.0.0)、Derelict-GL3 (v1.0.13)、および Derelict-GLFW3 (v1.1.0) を使用して Dub によって生成された標準的なものです。解決策を探してインターウェブをトロールするのにしばらく時間を費やしましたが、何かを見落としている可能性があります。もしそうなら、私を正しい方向に向けてください。ありがとう!
[編集] 詳細なコンパイラ出力
[編集]: 問題を特定しました。リンカは、アプリではなくライブラリを構築していると考えているようです。そのために何をしたかはわかりませんが、それを修正する方法がわかりません。だから、私の質問はこれです:どうすれば元に戻すことができますか?ありがとう。
[編集]: 気にしないでください。ビルドタイプを変更してexecutable
も何も起こりませんでした。
[編集]: ダブ v0.9.22 (v0.9.23 から) を使用してみましたが、問題なくリンクしているようです。何が起こっているのかわかりません。