ソースからプロジェクトをコンパイルすることに関する1つのことを理解していません。
サードパーティのライブラリが見つからない場合はどうすればよいですか?この種の問題を解決するための最良の方法は何ですか?
たとえば、githubでいくつかのコードを複製しました。ドキュメントには、私がしなければならない唯一のことはmakefileを実行することです。しかし、コンパイル中に次のようになります。
libmy/include/somefile.h:16:10: fatal error: 'GL/gl.h' file not found
#include <GL/gl.h>
どうすればいいですか? GL/gl.hが何であるかを調べてみると、インストールする必要があるパッケージに関する情報を見つけることができます。しかし、欠けているタイトルをすべてGoogleで検索する必要はないと思います。これは良い解決策ではありません。
私は次のようなものを使用できます適切なファイル検索たぶんインストールする必要があるライブラリを見つけることができます。ただし、まだこの方法で欠落しているすべてのファイルを確認する必要があります。
問題はプロジェクトにあると思います。しかし、どのように解決するのかわかりません。 makefileはすべてがインストールされていることを確認する必要がありますか?
私は読んだパッケージ構成これは私の問題を解決するのに役立ちます。私は使うべきですか?パッケージ構成見つからないライブラリを確認しますか?
もしパッケージ構成不足しているか、ユーザーがインストールしたくないのですか?
この種の問題を解決するためのより良い解決策はありますか?
答え1
configure
多くのパッケージには、ホストにインストールされている依存関係を確認する目的を持つ特別なスクリプトが含まれています。他のものは通常、ソースパッケージ内のREADMEファイルまたはINSTALLファイルに記載されている他のメカニズムを使用します。スタンドアロンプログラムでコンパイルできる人はほとんどなく、依存関係を検出したり依存関係を持ったりしようとしません。
GitHubからコードを取得する場合は、このようにコンパイルされない不完全なコードに備えてください。その後、ファイルがどの依存関係から来たのかわからない場合(ダウンロードしたコードに文書がない場合)、Googleで検索してください。また、Unixの経験が増えるにつれて、多くのヘッダファイル名が記憶されます:-)
合理的なパッケージには依存関係を検証するスクリプト(または他のメカニズム)があり、必要な依存関係を説明する文書および/または不完全または不良パッケージにはこれらの依存関係はありません。