私はCでプログラムを書きました。
gcc -o pr prc.c
そして私は以下のものを手に入れました
/usr/bin/ld:cannot find -lc
collect2: ld returned 1 exit status
リンカ( )は、標準Cライブラリであるld
ライブラリファイルを見つけることができません。このライブラリ(およびのコマンドラインオプション)については、オプションのセクションでldmanページlibc.{a|so}
を参照してください。引用:lc
ld
ld -o <output> /lib/crt0.o hello.o -lc
This tells ld to produce a file called output as the result of linking
the file "/lib/crt0.o" with "hello.o" and the library "libc.a"
これらのファイルが実際にシステムから欠落していることを確認する必要があります。私のUbuntu10.04LTSシステムの場合:
~ [88] locate libc.so
/lib/libc.so.6
/lib/tls/i686/cmov/libc.so.6
/usr/lib/libc.so
~ [89] locate libc.a
/usr/lib/libc.a
/usr/lib/xen/libc.a
この不足しているライブラリをインストールする方法は、ディストリビューションによって異なります。パッケージ管理を使用してを検索しlibc
ます。それ以外の場合は、再インストールを検討することをお勧めしますgcc
-lc はC
ランタイムライブラリである libc の略です。*nix ディストリビューションが何であれ、適切なインストーラーを使用して glibc と glibc-common をインストールする必要があります。
man ld
エラーメッセージについての洞察が得られるはずです。このようなメッセージは、リンカが見つからないライブラリを探していることを示しています。ここでのライブラリの名前は libc です (l を lib に置き換えます)。