分割コンパイルについて、質問です。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
jemi

分割コンパイルについて、質問です。

#1

投稿記事 by jemi » 16年前

シューティングゲームの館の6章での分割コンパイルなのですが、
手順通りに進めて行くと、
main.cpp(33) : error C3861: 'SetColor': 識別子が見つかりませんでした
main.cpp(36) : error C3861: 'img_sound_load': 識別子が見つかりませんでした
main.cpp(39) : error C3861: 'init': 識別子が見つかりませんでした
main.cpp(50) : error C3861: 'BackGround': 識別子が見つかりませんでした
main.cpp(53) : error C3861: 'BackGround2': 識別子が見つかりませんでした
main.cpp(56) : error C3861: 'PlayerControl': 識別子が見つかりませんでした
main.cpp(59) : error C3861: 'FpsTimeFanc': 識別子が見つかりませんでした

とのエラーメッセージが出るため、「main.cpp」に
extern void img_sound_load();
extern void init();
extern void SetColor();
extern void BackGround();
extern void PlayerControl();
extern void BackGround2();
extern void FpsTimeFanc();

を追加してみたのですが、
1>img_sound_load.obj : error LNK2005: "int counter" (?counter@@3HA) は既に main.obj で定義されています。
1>init.obj : error LNK2005: "int counter" (?counter@@3HA) は既に main.obj で定義されています。
1>background.obj : error LNK2005: "int counter" (?counter@@3HA) は既に main.obj で定義されています。
1>player.obj : error LNK2005: "int counter" (?counter@@3HA) は既に main.obj で定義されています。
1>fps.obj : error LNK2005: "int counter" (?counter@@3HA) は既に main.obj で定義されています。
1>C:\Documents and Settings\小木\デスクトップ\C言語\VC自主作成\shooting training\Debug\shooting training.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。

上記のメッセージが出てきてしまい、コンパイルできません。

環境は「Visual C++ 2008 Express Edition」を使用しています。

どうすれば、解決するのでしょうか?
宜しくお願いします。

たかぎ

Re:分割コンパイルについて、質問です。

#2

投稿記事 by たかぎ » 16年前

エラーメッセージのとおりですが、何が分からないのでしょうか?

jemi

Re:分割コンパイルについて、質問です。

#3

投稿記事 by jemi » 16年前

すみません。
自己解決できました。

extern宣言と同時に初期化していた事が原因だったようです。

大変失礼致しました。

閉鎖

“C言語何でも質問掲示板” へ戻る