2

現在、 luabindライブラリを使用する C++ でプロジェクトをセットアップしようとしています。残念ながら、私のディストリビューション、つまり Arch では、このライブラリは公式リポジトリになく、AUR のライブラリは古く、コンパイルに失敗しています。

includeこのプロジェクトにのみライブラリが必要であることを考慮して、ライブラリを構築し、インクルード ファイルと結果のバイナリをプロジェクトの 2 つのサブディレクトリにlibそれぞれインストール (コピー) することで、python の virtualenv に似たサンドボックス環境を作成できると考えました。これをリンクに追加し、ビルド時にパスを含めます。プロジェクトと一緒にライブラリを配布するのがよくない理由を理解しています。たとえば、その間にセキュリティとバグ修正を行います。ただし、DLL の配布はほぼ例外なく Windows で行われ (クロスコンパイルすれば可能です)、Linux でのゲームなどの多くのプロジェクトでは、disrtos 間の不一致を避けるためにライブラリをパッケージ化する傾向があります。さらに、ライブラリのパッチまたはフォークされたバージョンが必要になった場合、公式リポジトリでそれを見つけることはないと思います。

だから私の質問は:

  • 上で説明したことは一般的な方法ですか?私はこのようにする必要がありますか?
  • そうでない場合、この問題に対して最も一般的に合意されている解決策は何ですか?

注:必要に応じて、ビルドの自動化に Cmake を使用します

編集: この質問は私のものと少し重複しています。

4

1 に答える 1