0

すべての C プログラムを検索してコンパイルするためのシェル コマンドを作成しようとしています。

  find . -type f -name '*.c' -exec sh -c 'gcc {} -o $(dirname {})/$(basename {} .c)' \;

私が今持っているもので、実際にはすべての C ファイルをコンパイルしますが、これらのエラーも返します。

/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

私は完全に立ち往生しており、どんな助けも本当に感謝しています。

4

1 に答える 1

0

C ファイルに main が定義されていない可能性があります。Cファイルごとに個別の実行可能ファイルを作成しようとしているため、個々のインクルードを確認してください。おそらく、コンパイル済みファイルの #include を表示したいと思うでしょう。

于 2013-05-13T08:57:08.877 に答える