私は C プログラミングを始めたばかりで、他の C ライブラリの使用方法を学ぼうとしています。glfwの例を実行しようとしていますが、ライブラリのリンク/インクルードに問題があります。別のディレクトリにあるライブラリをダウンロードしました。また、どのコマンドを使用すればよいかについても少し混乱しています: make
, cmake
, cc
,gcc
など. C プログラムでこのライブラリをコンパイルするにはどうすればよいですか?
更新:わかりにくかったら申し訳ありません。この質問に対する答えは非常に単純です。私はMacを使っています。意図的に IDE を使用していません。上記でリンクしたスクリプトは次のとおりです。
#include <GLFW/glfw3.h>
int main(void)
{
/* code here, not relevant to question */
}
ライブラリをダウンロードして解凍すると、次のようになります。
glfw-3.0.2/
├── CMake
├── CMakeFiles
├── deps
├── docs
├── examples
├── include
├── src
├── Makefile
├── README.md
readme では、次のように cmake を使用してビルドするように記載されています。
cd glfw-3.0.2
cmake .
このコマンドの出力は、次のステートメントで終了します。
-- ビルド ファイルは次の場所に書き込まれています: /Users/andrew/mydirectory/myproj/glfw-3.0.2
私のスクリプトは、ディレクトリよりも 1 レベル上のglfw-3.0.2
ディレクトリにあります。
スクリプトをコンパイルしようとすると、ライブラリを含める方法をコンパイラに指示する必要がありますが、それは方法がわからない部分です。
$ make myscript
cc myscript.c -o myscript
myscript.c:1:10: fatal error: 'GLFW/glfw3.h' file not found
#include <GLFW/glfw3.h>
^
1 error generated.
make: *** [myscript] Error 1
ライブラリの場所をコンパイラに伝えるにはどうすればよいですか? また、一度コンパイルすれば、スクリプトに「バンドル」されるため、元のライブラリ ディレクトリを保持することを心配する必要はないと思います。その仮定は正しいですか?