我开始使用 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
cd glfw-3.0.2
cmake .
此命令的输出以以下语句结束:
-- 构建文件已写入:/Users/andrew/mydirectory/myproj/glfw-3.0.2
我的脚本位于比该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
如何告诉编译器在哪里可以找到库?另外,我假设一旦编译它,我就不需要担心保留原始库目录,因为它会与我的脚本“捆绑”在一起。这个假设正确吗?