2016-02-27 34 views
-1

我是Ubuntu的新手,也是C編程的新手。現在我正在觀看cs50視頻,以更好地瞭解C和CS。 我嘗試用這些原則來安裝這個:C中的CS50庫

的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

你是如何包含你的代碼的?命令似乎沒問題。我會推薦'sudo apt-get install clang',然後嘗試重新安裝庫。 – TheBro21

+0

這就是Unix/Linux總是「工作」的方式。您嘗試安裝的東西,然後得到混亂和無法理解的錯誤信息:) –

+0

新創建的目錄可能不包含到配置中。你有沒有檢查你的環境變量? – MikeCAT

回答

1

檢查位於/ usr /本地/ include目錄的cs50.h文件

如果它不存在,那麼一個或多個命令失敗(或者是跳過)的外殼。

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 

如果不知道上面的兩行做什麼,只是問:通過

你試圖運行gcc編譯/鏈接demo.c文件。

+0

謝謝爲了獲得幫助,只安裝了windows,現在在虛擬機上使用它。要回到linux上,我會對它有更多的瞭解,因爲現在只是爲了讓我感到困惑。 –