Ubuntu
在 Ubuntu 11.04 上從 gcc-3.4 中找不到“-lgcc_s”
我正在嘗試
gcc-3.4
在最新的 Ubuntu 上使用。該軟體包來自 debian 快照。它可能假設不同的預設目錄結構,所以例如我被迫給出它
-I /usr/include/i386-linux-gnu/
,這是gcc-4
隱式假設的。目前它編譯我給它的所有東西都很好,但它不能連結。即使是最簡單的執行檔也會導致錯誤:
$ gcc-3.4 ~/tmp.cc -o ~/tmp /usr/bin/ld: cannot find -lgcc_s collect2: ld returned 1 exit status
顯然,您需要添加庫
/lib/i386-linux-gnu/libgcc_s.so.1
並且編譯器期望軟連結/usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so
將其指向正確的位置,但是:$ ls -l /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so lrwxrwxrwx 1 root root 18 2011-05-03 04:55 /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so -> /lib/libgcc_s.so.1
和
$ ls /lib/libgcc_s.so.1 ls: /lib/libgcc_s.so.1: No such file or directory
修復符號連結,一切都會好起來的
$ sudo ln /lib/i386-linux-gnu/libgcc_s.so.1 /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so
現在它可以正常工作了!
$ g++-3.4 ~/tmp.cc -o ~/tmp $