私は C の初心者で、Code::Blocks を使用してコンソール アプリケーションを作成しようとしていました。(簡略化された) コードは次のとおりです: main.c:
#include <stdio.h>
#include <stdlib.h>
#include "test.c" // include not necessary for error in Code::Blocks
int main()
{
//t = test(); // calling of method also not necessary
return 0;
}
test.c:
void test() {}
このプログラムをビルドしようとすると、次のエラーが発生します。
*path*\test.c|1|`_ test' の複数の定義| obj\Debug\main.o:*path*\test.c|1|ここで最初に定義|
テストを複数定義する方法はありません (ただし、アンダースコアがどこから来ているのかはわかりません)。定義が何らかの形で 2 回含まれている可能性は非常に低いようです。これがすべてのコードです。
このエラーは、test または test.c と呼ばれる他の関数またはファイルとの名前の競合によるものではないことを除外しました。複数の定義と最初の定義は、同じファイルの同じ行にあることに注意してください。
これを引き起こしている原因と、それに対して何ができるかを誰かが知っていますか? ありがとう!