LNK2005が出て困っています

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

LNK2005が出て困っています

#1

投稿記事 by ti » 15年前

いつもお世話になります
ソースが長くなってきたのでファイルを分けようと作業していたらLNK2005が出てしまいました
make town.cppに書いてあったmakecmdwindowという関数をmake cmd.cppに移動してふたつのソースファイルで宣言しているものを global.hにて宣言すれば直るかと思いましたが直りませんでした

自分ではどうすればいいのかわからないのでどうすればエラーが消えるのか教えてください
ソースファイルを上げておきます

開発環境はwinXP VS2005SEです
画像等はサイズが大きくなるので入れていません

よろしくお願いします 画像

Poco

Re:LNK2005が出て困っています

#2

投稿記事 by Poco » 15年前

1.Keyという変数の定義が2箇所あります。
 2重定義ならどちらかを消してください。
 変数名がかち合ったなら、どちらかの変数名を変更してください。

2.cmd_x、cmd_yという変数の定義がどこにもないです。
 どこかで定義してください。

Poco

Re:LNK2005が出て困っています

#3

投稿記事 by Poco » 15年前

ファイル分割に関するアドバイスです。

1.××.cppで定義しているグローバル変数/関数は
  ××.hでextern宣言するようにしてください。

2.××.hには必ずインクルードガードを施してください。

これを守るだけで、今回のようなエラーで困ることがなくなると
思います。

ti

Re:LNK2005が出て困っています

#4

投稿記事 by ti » 15年前

ぽこさんありがとうございました
おかげでエラーはでなくなりました


インクルードガード
#pragma once
のほうで実装してみました

返信遅くなって申し訳ありませんでした

閉鎖

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