問題タブ [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 - D の最適化レベルは?
dub
以下の最適化されたバイナリをビルドするための昇順は何ですか? (例 ... デバッグ < プレーン < リリース ...)
dub build -b release-nobounds
から派生したように見えるので、最速の実行可能ファイルをビルドするdmd -O -release -boundscheck=off
のに相当するものは何ですか?dub
d - 最小ダブまたは DMD バージョンを指定できますか?
Dmd と Dub の古いバージョン (1.0.0 ではなく 0.9.2) で私のプロジェクトをビルドしようとする人がいますが、うまくいきません。dub.json ファイルで、最低限必要な吹き替えバージョンを指定できますか?
c++ - dub を使用して C++ リンク可能な静的ライブラリを出力する
D ライブラリ (ダブを使用) を C++ アプリに静的にリンクしたいと考えています。
wiki の指示に従って、例を手動で正常にリンクしました。
しかし、ダブを使用する独自のライブラリがあり、cl
.
私が何を意味するかをお見せしましょう ( wiki のコード例ですが、吹き替えが追加されています):
プロジェクト ディレクトリ:
main.c:
libadd/dub.json:
libadd/ソース/libadd.d:
wiki の指示を使用したコンパイルとリンクは正常に機能します。
しかし、ダブでこれを行うにはどうすればよいですか?dmd
を手動でコンパイルするとが生成されるの.obj
に対し、が生成されることに気付きましdub
た.lib
。Google 教授によると.lib
、Windows の静的ライブラリですが、リンクできません。私はすでにに設定targetType
しstaticLibrary
ていdub.json
ます。
dmd
また、 flags-m32mscoff
とdub.json に-betterC
対応する設定がないことにも気付きました。とはいえ、補償の仕方がわかりません。buildOptions
dub を使用する D ライブラリを C++ アプリと静的にリンクするにはどうすればよいですか?
d - 64 ビット コンパイラを使用するように DUB を構成する
アプリケーションを 64 ビット実行可能ファイルとしてコンパイルするように DUB を構成するにはどうすればよいですか? これが私の dub.json です:
この行を dub.json に追加してみました:
しかし、その後dub build
出力されました:
だから私は行を次のように置き換えてみました:
しかし、このエラーが発生しました:
私は Windows 10 を使用しており、DMD 2.074.0 と Visual Studio 2015 および 2017 がインストールされています。
d - DUB 構成ファイルで、依存関係の構成 (buildOptions) を変更するにはどうすればよいですか?
「myapp」というプロジェクトがあり、「sdlang-d」に依存しているとします。dub build --build=release-debug
コマンド ラインから使用して、プロジェクトをリリース デバッグとしてビルドしたいと考えています。SDLang の問題 #54により、sdlang-d を release-debug としてビルドすることはできません。そのため、ダブ構成ファイルを使用して、ビルド時に関係なく、sdlang-d を強制的に「debug」または「debugMode」としてビルドしたいと考えています。 「myapp」のオプションを選択し、デバッグ バージョンの sdlang-d をリリース バージョンの myapp にリンクします (これにより、sdlang-d の外部にあるコードが最適化の恩恵を受けることができます)。
テスト目的で、この状況をシミュレートするために「dub_dependency_config」という github プロジェクトを作成しました。次のテキストでは、私が試したことから観察した具体的な出力を提供するため、「myapp」の代わりに「 dub_dependency_config 」を参照します。
シンプルな dub.sdl 設定ファイルから始めます...
...そしてでコンパイルしようとするdub build --build=release-debug
と、もちろん問題#54がそのことを行います:
これを回避するには、次のように書けると思います。
これが実際に機能するとは思っていませんでした。ドキュメントには、そうすべきだとは書かれていません。とにかく試してみましたが、ダブはbuildOptions
タグ内のdependency
タグを無視しているようです。構成ファイルは以前のものと同等になり、同じ問題 #54 コンパイラ エラーが発生します。
このスレッドで言及されているように、この問題を解決するための推奨される方法と思われるsubConfigurationについて読みました。 経験するために失敗した構成をたくさん与えてくれました。いくつか見てみましょう:subConfiguration
これにより、次の結果が得られます。
そのため、私が何を意味するのか理解できず、慰めの賞として、私は取り除くことができないというしつこいメッセージを受け取りました;)
先へ!
出力:
興味深いことに、私たちはそれを構築して...何かを手に入れました (私には何のことかわかりませんが、それは私のプログラムではありません)。
より多くの組み合わせ!再帰しましょう!
出力:
ナグが消えた!しかし、それは単に私がもっと失敗したことを意味すると思います。
学習のために、subConfiguration タグから情報のきしみを取得したいので、機能しないことがわかっていることを試します。
いいえ、私の間違った試みは間違った結果をもたらしました:
どうすれば機能しますか?
(余談ですが、.sdl 形式には非常に感謝しています。.json バージョンでも同じ問題が発生しました。コメント機能が不足しているだけで、ドキュメントはおろか、トラブルシューティングも困難になりました。)