《自制編譯器》安裝cbc遇到的問題以及解決的方法

最近在學習編譯原理內容,找到了一本不錯的書,自制編譯器。相對於龍書,這本書的更加的講述的更加的接地氣。
下面是在第一章安裝cbc編譯器時遇到的問題。linux

這裏使用的是32位的ubuntu16.04系統,64位的教程安裝教程,該編譯器使用的是的x86的指令集。樹莓派使用的爲armhl,沒法適用,想使用樹莓派的小夥伴無望了(心疼本身1秒)git

按照書上的連接,下載cbc的編譯器,解壓後版本爲cbc-1.0。而後按照書上安裝的步驟github

sudo ./install.sh

顯示下面的信息web

prefix=/usr/local/cbc
mkdir -p /usr/local/cbc/bin
install -m755 bin/cbc /usr/local/cbc/bin
mkdir -p /usr/local/cbc/lib
cp lib/cbc.jar lib/libcbc.a /usr/local/cbc/lib
rm -rf /usr/local/cbc/import
cp -r import /usr/local/cbc/import
cbc successfully installed as /usr/local/cbc/bin/cbc

而後繼續按照書上的步驟進行cbc hello.cb,可是顯示cbc不存在。ubuntu

須要進行下面的操做,cbc纔可以正常的使用,此處參考 ,可是按照這個教程還是不可行。svg

下面爲查閱相關的方法,解決的方案。學習

進行軟鏈接操做

sudo ln -s [具體的位置]/cbc-1.0/bin/cbc   /usr/local/bin/cbc

執行命令cbc hello.cb,出現下面的錯誤code

/usr/bin/ld: cannot find /usr/lib/crt1.o: No such file or directory
/usr/bin/ld: cannot find /usr/lib/crti.o: No such file or directory
cbc: error: /usr/bin/ld failed. (status 1)
cbc: error: compile error

複製crt*文件(若是沒有出現這樣的錯誤,可無視)

經過查找,發現crt*文件位於/usr/lib/i386-linux-gnu文件夾下,因此xml

sudo cp /usr/lib/i386-linux-gnu/crt*  /usr/lib/

cbc hello.cb完成