1. ホーム
  2. c

[解決済み] C リンクエラー: 'main' への未定義の参照

2022-03-01 14:07:43

質問

このトピックに関する他の回答も読みましたが、残念ながら私の助けにはなりませんでした。私はいくつかのcプログラムを一緒にリンクしようとしているのですが、応答でエラーが発生します。

$ gcc -o runexp.o scd.o data_proc.o -lm -fopenmp
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
make: * [runexp] Error 1

私はちょうど1つのメイン関数を持っており、それはrunexpにあります。その形式は

int main(void) {
    ...; 
    return 0;
}

なぜこのようなエラーが発生するのか、何か思い当たることはありますか?ありがとうございます。

解決方法は?

の後に出力ファイル名を指定する必要があります。 -o オプションで指定します。あなたの場合 runexp.o は入力オブジェクトファイルではなく、出力ファイル名として扱われるため、あなたの main 関数は未定義です。