我是Ubuntu的新手,也是C编程的新手。现在我正在观看cs50视频,以便更好地了解C和CS。 我尝试使用这些指南来安装它:
Debian,Ubuntu
首先成为root,如:
sudo su -
然后按如下方式安装CS50库:
apt-get install gcc
wget http://mirror.cs50.net/library50/c/library50-c-5.zip
unzip library50-c-5.zip
rm -f library50-c-5.zip
cd library50-c-5
gcc -c -ggdb -std=c99 cs50.c -o cs50.o
ar rcs libcs50.a cs50.o
chmod 0644 cs50.h libcs50.a
mkdir -p /usr/local/include
chmod 0755 /usr/local/include
mv -f cs50.h /usr/local/include
mkdir -p /usr/local/lib
chmod 0755 /usr/local/lib
mv -f libcs50.a /usr/local/lib
cd ..
rm -rf library50-c-5
我使用它,我认为一切都按计划进行,但是一旦我尝试运行gcc demo.c
,我就会收到致命的错误消息:
adder.c:2:18: fatal error: cs50.h: No such file or directory
#include <cs50.h>
因此,似乎某些地方出了问题而且我真的不知道如何修复它。任何人都可以指导我一些如何解决它或如何重新安装C自动包含该库的所有内容?
答案 0 :(得分:1)
在/ usr / local / include目录中查看cs50.h文件
如果不存在,那么一个或多个shell命令失败(或被跳过)。
您是否尝试通过以下方式运行gcc
来编译/链接demo.c
文件:
gcc -c -Wall -Wextra -pedantic -Wconversion -std=gnu99 demo.c -o demo.o -I/usr/local/include
gcc demo.o -o demo -L/usr/local/lib -lcs50
如果您不确定以上两行是做什么的,请问。
答案 1 :(得分:0)
如果使用char *代替字符串类型
和
scanf()代替get_(type)
您不需要它。
如果确实需要它,我将在课程中使用IDE。这是免费的,并且在课程结束的一半途中,他们卸下了训练轮。
答案 2 :(得分:0)
最后使用-lcs50
。另外,请使用-o
参数指定要在其中输出机器代码的文件。
运行以下命令来编译程序:gcc demo.c -o demo -lcs50
运行此命令以执行程序:./demo