9

ヘッダーを使用していくつかのファイルをコンパイルするのに問題があります。これが私のコードの内訳です:

file1.c

#include "header.h"
int main() {
    func1();
    return 0;
}

file2.c

#include "header.h"
void func1() {
    ... function implementation ...
}

header.h

void func1();


私が得ているエラーは次のとおりです。

関数内'main':
への未定義の参照'func1'

注: 3 つのファイルがどのようにセットアップされているかの簡単な内訳を使用しています。これを3つのファイルで動作させる必要があります。すべてを適切に設定/含めていますか?このセットアップを使用する必要がありますが、 file.c が実際の実装への参照を取得する方法がわかりませんfunc1()

4

1 に答える 1

4

エラーが への未定義の参照func1()あり、他のエラーがないheader.h場合、プロジェクトで呼び出された 2 つのファイルがあり、 の宣言を持つコピーの代わりに他のコピーが含まれているためだと思いますfunc1()

私はあなたのプロジェクトのインクルード パスをチェックし、header.hあなたの宣言がfunc1()最初に含まれていることを確認します。

于 2012-07-02T09:53:08.733 に答える