これはそれほど大きな問題を与えるべきではありませんが、ワイルドカード演算子を使用してより効率的なmakefileを作成しようとしています。ファイルを作成し、リンクしてください。しかし、何らかの理由で、私はそれが私にこのを与える「作る」実行しようとするたびにために:複数の関数定義エラーMakefile?
undefined reference to main
collect2: error: ld returned 1 exit status
をけれどもこれらの前に:
multiple definition of 'ScreenMgr::ScreenMgr()'
/path/to/ScrenMgr.cpp:4: first defined here
、それもすぐに言う、この1の後に私に別のエラーが発生しますエラーが発生すると、私の.oが生成され、適切なディレクトリに配置されるので、エラーはリンカにある必要があります。誰かが助けてくれると思ったらC++ソースをインクルードすることができますが、ファイルは実際には空です(私はヘッダガードを入れていますが)。このような問題は、コードについても心配する必要はありません。この行は、それがからソースファイルのすべてのを任意のの.oファイルを作成することができmake
を告げる
問題はあなたのMakefileではありません。あなたの問題はScreenMgr.cppまたはScreenMgr.hにあります –
おそらく、ヘッダーファイルに適切なインクルードガードがありません。 – Barmar
あるいは、 '.cpp'と' .h'の両方でコンストラクタを定義しているかもしれません。 – Barmar