:私はメインコンパイルしようとadd.h
とmain.cpp
C++ - ここでは一例に続いて/tmp/cckpbRW.o:main.cc:(.text+0x9d):undefined参照
に関連http://www.learncpp.com/cpp-tutorial/19-header-files/
.cc(別の拡張機能を使用したばかりです)、次のようになります。
/tmp/cckpbRW.o:main.cc:(.text+0x9d):undefined reference to 'add(int, int)' collect2: ld returned 1 exit status
この問題を解決するにはどうすればよいですか?
ありがとうございました。
:コンパイルと同時に、それらをリンクし、次のいずれか
またはそれらを別々にコンパイルし、リンク。それは今働いた。それで、一緒にコンパイルする "キー"はありますか?私たちがやっていることは、2つのオブジェクトをコンパイルしながら、なぜあなたは "それらを一緒にリンク"するのですか?ありがとう。 – Simplicity
@pero。ソリューションの最初のフォームを使用すると、同じエラーが発生します。私は例えば--- --- g ++ main.cc -o main.o(私はCygwinを使用しています)とタイプしました。エラーが表示されるのはなぜですか?ありがとう。 – Simplicity
@SWEngineer:リンクするのではなく、コンパイル(および/またはアセンブル)するようコンパイラーに指示するには、-cを使用する必要があります。 プログラムのコンパイルはいくつかの段階から成ります。最後のものはリンクしています。実際には実行可能ファイルをビルドして、ソースファイルにすべてのものを入れています。 – peoro