2017-03-10 13 views
2

私はlibpng、zlib、lcmsライブラリが必要なC言語のツールを持っています。 UNIXの場合、私はこれらの依存関係をpkg-config経由で取得しますが、Windows上では依存することはできません。そのため、ライブラリを構築しているユーザーにとっては、これらの依存関係を手動で取得して構築するという大がかりな作業です。Windows/MSVCでCライブラリの依存関係を自動的に見つけたりビルドする方法は?

ほとんどのWindows固有の方法でこれらの依存関係を自動化する方法を教えてください。私はMinGWが助けてくれることを知っていますが、それはちょっとしたコツです。私はMicrosoftのツールチェーンを使ってそれを行う方法を学びたいと思います。

  • Windows上で共有されているMicrosoft以外のライブラリを検索する場合、または自分自身を静的にリンクする必要はありませんか?
  • ビルドスクリプトの一部としてライブラリをダウンロードしてビルドする場合、どうすればよいですか? (Nuget?curl?ftp.exe?)
  • MicrosoftはCのNuGetの使用を控えているようですか? https://github.com/Microsoft/vcpkg/blob/master/docs/about/faq.md#why-not-nuget

答えて

2

Nugetを調べることをおすすめします。このようなことは、Microsoftの標準となっています。多くの人がNugetは.NET用だと思っていますが、VC++でもうまくいきます。私は私の会社でヘッダとコンパイルされたlibsを提供するためにNugetサーバをセットアップするのに成功しました。私はこれらのものを自動的に作成するための自動構築システムをすべて手に入れました。ここでは詳細を説明しませんが、ビルドの実行、MSBuild XMLスニペットを作成してプリコンパイラとリンクオプションを自動的に設定し、それらのビット(ヘッダ、ライブラリ、XML )正しい方法で。正しく実行されたら、新しいプロジェクトで既存のパッケージを使用するのは2段階のプロセスです.Nugetリファレンスを作成して#includeをコードに追加します。サーバーは必要ありません。自分のコントロールのディレクトリから直接サーバーを入手できます。

https://docs.microsoft.com/en-us/nuget/create-packages/native-packages

関連する問題