3

クロスプラットフォームであるはずのプロジェクトに取り掛かろうとしています。このコードはすでにMacOSXで機能しており、WindowsとLinux用の新しいGUIを作成する作業を引き受けました。

Windowsから始めようと思っていたのですが、問題が発生しました。サードパーティのC++ライブラリが必要ですが、VC++ソリューションをどのように設定すればよいかわかりません。

具体的には、サードパーティのライブラリがどこにインストールされていると想定できますか?ライブラリがインストールされることを期待できるWindows上の標準フォルダーはありますか?

または、必要なライブラリをWebからフェッチし、次のような選択したフォルダーに抽出するカスタムビルドスクリプトを含めることをお勧めします。

[git repository]
    [vc++ solution files]
        [ externallibs]
            bin/
                *.dll
            include/
                *.h
            lib/
                *.lib
    [non-windows stuff]

ソリューション内のそれらのフォルダーを参照しますか?

私の職場では、.NETアセンブリを使用して同様のことを行っています(もちろん、DLLのみです)。

ありがとうございました!

4

2 に答える 2

3

Windows には、ライブラリ用の "標準的な場所" はありません。ただし、ビルドを自動化するためにできることがあります。

を使用しているようgitで、リポジトリにサードパーティのライブラリがあると思います。その場合、あなたがしていることは正しいです-ファイルを適切な場所に配置するスクリプトを作成できます。

-または- ライブラリがローカル リポジトリ スナップショットにあると「想定」し、MSVC++ ソリューションで相対パスを使用します (覚えておいてください - プロジェクトの「プロパティ」の一部として定義できるため、ライブラリの相対位置を指定する場所が 1 つあります)。ビルドに必要なファイル)。

私のプロジェクトでは、「プロパティ」を設定し、それらをソリューション内のプロジェクトに「リンク」するだけです。これらの「プロパティ」は、私が使用しているサードパーティ ライブラリへの相対パスを指定します。これらはすべて同じソース管理システムにあるため、個々の開発者の設定に関係なくアクセスできます。

これは、私がプロジェクトに使用するファイルから取った、サードパーティのライブラリの 1 つの例ですglobal.props(サンプルがあります)。

  <PropertyGroup Label="UserMacros">
    <CxImage>..\cximage702_full\CxImage</CxImage>
  </PropertyGroup>
  <PropertyGroup>
    <IncludePath>$(CxImage);$(IncludePath)</IncludePath>
    <LibraryPath>$(CxImage);$(LibraryPath)</LibraryPath>
  </PropertyGroup>
于 2012-07-28T08:44:05.127 に答える
0

古いパターンを使用することをお勧めします。

c:/Programs Files/Company Name/Product Name/

ライブラリは製品ではありませんが、まあ、これはコンピューターにインストールされるものです。

于 2012-07-28T20:34:11.063 に答える