申し訳ありません。だから、私はGLUTで使用したい関数の変更を扱うために、C++でかなりシンプルなクラスを設定しています。しかし、私は、クラス定義を含むヘッダーファイルに対応する.cppファイル内のパブリックメンバー関数の1つを定義するときに問題があります。このパブリックメンバー関数を別のファイルで宣言するときに重複するシンボルが表示されるのはなぜですか? (C++)
ヘッダーファイルでクラスを定義するとき、コンパイルエラーは発生しません。しかし、ヘッダファイルをインクルードして.cppファイルに関数を定義すると、 "duplicate symbol SystemModule::setupGlutFunctions
"というエラーが出ます。私が知る限り、この関数をオリジナルとは別のファイルで定義するための正しい構文を使用しています。ここでは、コードは次のとおりです.hファイルで宣言されたときには、クラス定義の内部で、細かいコンパイルとコードの
#include "system.h"
void SystemModule::setupGlutFunctions()
{
glutDisplayFunc(displayFunc);
glutReshapeFunc(reshapeFunc);
glutMouseFunc(mouseFunc);
glutKeyboardFunc(keyboardFunc);
glutSpecialFunc(specialFunc);
glutIdleFunc(idleFunc);
glutMotionFunc(motionFunc);
glutPassiveMotionFunc(passiveMotionFunc);
return;
}
実際の内容は本当に重要ではありません。しかし、別の.cppファイルで関数を定義しようとすると、エラーが発生します。それは公共の機能です。
私はMac OS X 10.5でXcodeを使用しています。他の誰かがこのエラーを受け取りましたか?そして、構文上何か間違っているのか、これが動作するためにXcodeで特別なことをしなければならないのか誰にでも教えてくれますか?
多くの義務が、 E.
ヘッダーの宣言はどのように見えますか?あなたはヘッダーか何かにそれをスタブしなかったのですか? –
"void setupGlutFunctions();"それはどのように見えるのですか? –