私はCプロジェクトでいくつかの汎用コンテナを実装していて、コンパイル時にこの奇妙な問題を抱えています。エラーを複製するサンプルコードもあります。シンボルがCでコンパイルされていません。基本ヘッダファイルの設定
がfoo.h
void fooprint(void);
foo.cの
#include "foo.h"
#include <stdio>
void fooprint(void){
printf("bar");
return;
}
main.cの
#include "foo.h"
int main(void){
fooprint();
return 0;
}
私は
gcc main.c -o main
を入力してコンパイル
、これは私はOSXシステム上でこれをコンパイルしていますが、また同じ効果とRed Hatのマシン上でコンパイルしようとしているの端子出力
Undefined symbols:
"_fooprint", referenced from:
_main in ccfMXGzj.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
ものです。
解決策はおそらく痛いほど明白ですが、私はこれを見て作業している複数の友達がいて、問題を見ることができませんでした。私はたくさんの周りGoogleで検索しましたが、ほとんどのシンボルエラーの問題は通常、あなたはそれらを一緒にコンパイルする必要が客観C.
オハイオ州私のゴシック私はそれを逃したとは思わない。ありがとう – Mike