オプションの依存関係を持つDUBベースのプロジェクトを使用している場合、依存関係が存在する場合にのみコード(モジュールまたはバージョン(...){...}ブロック)がコンパイルされるようにする方法選ばれた?依存関係が存在するかどうかに基づいて定義されたバージョン識別子を作成する方法はありますか?DUBでは、オプションの依存関係に基づいてコードを条件付きでコンパイルするにはどうすればよいですか?
「依存性」タグの「オプション」属性と「デフォルト」属性については、文書hereで既に読んでいます。これにより、依存関係をオプションとして定義することができますが、選択した依存関係を反映するようにコードをバージョン化できないと歯が欠けます。
あなたはそれを釘付けにしたと思います。ありがとう! 私はdub.selections.jsonから削除し、あなたが提案したバージョン(Have_ *)コードを使用して、依存関係のないプロジェクトを構築できました。残念ながら、そのプロジェクトに依存する他のプロジェクトでは、最初のプロジェクトでデフォルト= falseで、すべてのdub.selections.jsonファイルにsdlang-dが存在しなくても、依存関係グラフにオプションの依存関係(例:sdlang-d)を含めるよう依頼しています関与する。しかし、それは別の問題のように思えるかもしれません。おそらく、バグや尋ねられる別の質問です。 – chadjoan
あなたはoptional = trueを使用する必要があります – Kozzi11
optional = trueも(すでに)設定されています。申し訳ありません。 – chadjoan