![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんにちは。
VC++を使ってプログラムを作っているのですが、コンパイルは通るのですが、リンク時に以下のエラーメッセージが出ます。どなたか解決方法を教えてください。
(仮にプロジェクト名をPROJECTとします。)
リンク中...
PROJECT.obj : error LNK2005: "struct AA pAA" (?pAA@@3UAA@@A) はすでに PROJECT.obj で定義されています
Debug/PROJECT.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました
link.exe の実行エラー
開発ツール:VC++6.0 MFCを使用しています。
OS:Windows XP SP2
上記現象の発生した契機は、ヘッダファイル内で定義している構造体に構造体変数を加えたことによります。
【発生前】
・ヘッダ内
struct AA
{
};
・ソース内
AA pAA;
【発生後】
・ヘッダ内
struct AA
{
}pAA;
・ソース
(ソース内での構造体変数の宣言を削除)
以上で、どなたか心当たりのある方はご教授をお願いいたします。
No.3
- 回答日時:
ヘッダ側で
extern struct AA pAA;
と宣言だけ行い、ソースファイルのどれか一つで
struct AA pAA;
と実体を定義してください。
No.2
- 回答日時:
No.1さんに補足です。
ヘッダファイルの先頭と最後に、複数インクルード防止マクロを定義しておきましょう。
※ヘッダファイルの先頭
#if !defined(HOGEHOGE_XXXXXXX)
#define HOGEHOGE_XXXXXXX
※ヘッダファイルの最後
#endif
※HOGEHOGE_XXXXXXX は、任意でユニークな文字列。
ご回答ありがとうございます。
お礼が遅くなり、申し訳ありません。
おお~そういうばそのような方法もありましたね!
すっかり忘れていました・・・
どうもありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- お酒・アルコール 断酒団体AAについての質問です 今年に入ってからお酒をやめました 自助グループとして「断酒会」と「A 3 2023/05/22 11:39
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- IT・エンジニアリング IT開発、ソフトウェア開発、アプリ開発において、要件定義は受注の前か、後か? 見積額に含むか否か? 1 2022/06/20 19:02
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 日本語 複合名詞(造語)について教えて欲しいです 2 2022/05/22 17:14
- ネットワーク 通信量を見たい 3 2023/03/01 07:47
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
多重定義が起きている?--lnk2005エラー:VC++
C言語・C++・C#
-
関数の実体定義にヘッダファイルの2重定義防止方法が効かない?
C言語・C++・C#
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
-
4
ボタンの表示の色、フォントを変更したい
C言語・C++・C#
-
5
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
6
画面を強制的に再描画させる方法
C言語・C++・C#
-
7
名前空間でビルドエラー(LNK2005)
C言語・C++・C#
-
8
#define _CRT_SECURE_NO_WARNINGS について
C言語・C++・C#
-
9
どんなプログラムを書いても指定されたファイルが見つかりません。と出てきます。どうやったら解決しますか
C言語・C++・C#
-
10
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
11
2重定義って??
C言語・C++・C#
-
12
他の.CPPファイルに定義した関数を呼び出す方法について
C言語・C++・C#
-
13
適切な変換関数が存在しない???
C言語・C++・C#
-
14
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
15
char*を初期化したいのですが
C言語・C++・C#
-
16
unsigned long long 型のフォーマット指定子
C言語・C++・C#
-
17
MFC ダイアログ上のID取得について
C言語・C++・C#
-
18
既定のコンストラクタがない?
C言語・C++・C#
-
19
C++にてtemplateで受け取った任意の型の変数が何型であるかを判定したい
C言語・C++・C#
-
20
構文エラー;"が型の前にありませんとは、どうしたら解決できるのですか。"
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Makefile作成時の拡張子.oとは?
-
VBAを何回も作り直して、容量が...
-
「fatal error C1189」を回避す...
-
C言語でヘッダファイルにグロー...
-
定数式とはどういう意味でしょ...
-
1 つ以上の複数回定義されてい...
-
ILSpyで、デコンパイルできない。
-
C/C++の文法チェックツール
-
Fortranについて教えてください
-
sys/types.hの必要性について
-
ビルドとリビルドの違いを教え...
-
” OS ビルド ” の意味が分か...
-
CとC++、どちらでコンパイ...
-
Macで Arduino Unoでコンパイル...
-
<math.h>があるのにsqrtが・...
-
複数のサブディレクトリを一緒...
-
ExcelVBAで『ByRef 引数の型が...
-
「DeclareステートメントにPtrS...
-
cygwinのgccが、エラーになって...
-
エクセルVBAではRound...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
<math.h>があるのにsqrtが・...
-
” OS ビルド ” の意味が分か...
-
1 つ以上の複数回定義されてい...
-
「fatal error C1189」を回避す...
-
ILSpyで、デコンパイルできない。
-
Makefile作成時の拡張子.oとは?
-
エクセルVBAではRound...
-
C言語でヘッダファイルにグロー...
-
外部シンボル "_main"は未解決です
-
セミコロンについて
-
マクロ コンパイルがグレーバック
-
戻り値について
-
C言語でmからnまでの合計を求め...
-
C++コンパイル時に『 C1083: in...
-
コンパイルエラー:ユーザ定義...
-
クリティカルエラー Expressio...
-
PRO*C コンパイルエラー
-
【VC++6.0(MFC)】警告「LINK : ...
-
[c++] <pthread.h>がinclude で...
おすすめ情報