Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。148件1背景ポータブルなライブラリ環境を構築するために、必要なライブラリをまとめたNuGetパッケージの作成を行っています。Qiita参考にした上記サイトの通り、プログラムの実行まで行えましたが、もう少し機能の充実を図りたいと考えています。追加したい機能を優先度順で列挙すると以下のようになります。しなくても.libファイルがリンクできているこれらの機能を追加するには、どのようにパッケージを作成すればよいでしょうか?取り組んだ内容2と3については、VisualStudioが生成した.vcxprojファイルを参考にして以下の.targetsファイルを作成しました。プロジェクトファイルの「構成プロパティ」→「C++」に該当します。マクロを「HAS_NUGETOPENCV」を定義します。追加のインクルードディレクトリに追加するフォルダーを指定します。プロジェクトファイルの「構成プロパティ」→「リンカー」に該当します。追加のライブラリディレクトリに追加するフォルダーを指定します。</ItemDefinitionGroup></Project>しかし、コンパイル時にリンクエラーが発生してしまい、.libファイルのリンクが適切にできませんでした。ファイルは参考サイトのパスに保存しています。</metadata></package>propsファイルは参考サイトと同一であるため割愛します。個の銅バッジ今はvcpkgをおすすめします。言葉足らずで申し訳ありません。2:30vcpkgはライブラリ利用者がビルドを行うソースパッケージです。それを踏まえて実現しようとしている「必要なライブラリをまとめた」が何を指すのかだと思います。vcpkgはopencv4にも対応済みです。C#側で使用するOpenCVSharpとOpenCVSharpを使用するためのOpenCVのworldではないdll群になります。4:12難しいですね。2つのOpenCVライブラリが混在するのはよくないと思います。票0自己解決しました。targetsファイルを次のように編集することで要求1と3に対応しています。プロジェクトファイルの「構成プロパティ」→「C++」に該当します。マクロを「HAS_NUGETOPENCV」を定義します。追加のインクルードディレクトリに追加するフォルダーを指定します。プロジェクトファイルの「構成プロパティ」→「リンカー」に該当します。追加のライブラリディレクトリに追加するフォルダーを指定します。</ItemGroup></Project>自動リンクがうまく作用しなかったのは、</ItemDefinitionGroup>を入れ子に記述していたからでした。Configureでリンク先フォルダの分岐はこのファイルではできていませんが、の部分も条件分岐の中に含めることで可能であると考えております。dllの自動コピーは、質問文の「パッケージフォルダ構成」中のlibフォルダに、必要なdllファイルをすべて保存していることを前提としています。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。