如何在OS X 10.10.1上正确安装cs50.h库?

时间:2015-01-25 06:54:21

标签: c bash macos gcc cs50

我正在尝试安装cs50库 https://manual.cs50.net/library/#mac_os这样我就可以在OS X 10.10.1上为该类编译c代码。不幸的是,我遇到了一些问题。

让我向您介绍我迄今为止所做的工作。按照上面的链接,我在bash终端输入了以下命令:

$ ls
cs50.c  cs50.h
$ gcc -c -ggdb -std=c99 cs50.c -o cs50.o
$ ar rcs libcs50.a cs50.o
$ rm -f cs50.o
$ chmod 0644 cs50.h libcs50.a
$ sudo mkdir -p /usr/local/include
$ sudo mv -f cs50.h /usr/local/include
$ sudo mkdir -p /usr/local/lib
$ sudo mv -f libcs50.a /usr/local/lib
$ cd ..
$ rm -rf library50-c-5

在看似正确安装库之后,我运行了gcc generate.c -o generate来编译文件。我收到以下错误:

$ pwd
home/Developer/pset3/find
$ ls
Makefile    find.c      generate.c  helpers.c   helpers.h
$ gcc generate.c -o generate
generate.c:17:10: fatal error: 'cs50.h' file not found
#include <cs50.h>
         ^
1 error generated.
$ 

当我运行gcc generate.c -o generate -lcs50

时,我也遇到了同样的错误

为什么找不到cs50.h文件?文件是否正确安装?

我搜索了类似的问题,但其他人似乎遇到了一个稍微不同的问题:

1 个答案:

答案 0 :(得分:2)

安装cs50库后,我将其添加到〜/ .bashrc文件中。

function make50 { gcc "$1".c -o "$1" -I /usr/local/include -L /usr/local/lib -lcs50; }

然后启动一个新终端或只是在当前终端

中获取〜/ .bashrc文件
source ~/.bashrc

现在假设您有一个名为generate.c的文件目录。您应该能够运行make50 generate(没有&#34; .c&#34;)并且该函数应该使用所需的所有参数调用编译器

user@macbook:~/project$ ls
generate.c
user@macbook:~/project$ make50 generate
user@macbook:~/project$ ls
generate   generate.c

您可以根据需要在〜/ .bashrc中为函数添加更多库路径。