ヘッダーを使用していくつかのファイルをコンパイルする際に問題があります。ここに私のコードの内訳です:"関数への未定義の参照"エラー
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つのファイルで動作させる必要があります。私は正しく/すべてを含めて設定していますか?私はこの設定を使用する必要がありますが、実際にはfunc1()
の実装への参照をfile.cがどのように取得するのかは分かりません。
どのコンパイラを使用していますか?あなたはあなたのコンパイラの声明を提供できますか? – mathematician1975
'gcc -o program file2.c file1.c'を使っているなら、これを' gcc -o program file1.c file2.c'に変更してください。順序は重要です。 –
通常のgccコンパイルではこれがうまくいくはずです。問題は、これ以上の問題は非常に大きなプロジェクトのもので、何百ものファイルがあることです。しかし、問題の構造は同じです。私はちょうど私が物事を適切に含んでいなかったかもしれないと思ったが、そうではないと思う。 – Tesla