現在、6. 先ほどのプログラムを分割する。をやっているのですが
initial.obj : error LNK2005: "struct BODY_player_t Player" (?Player@@3UBODY_player_t@@A) はすでに img_sound_load.obj で定義されています
background.obj : error LNK2005: "struct BODY_player_t Player" (?Player@@3UBODY_player_t@@A) はすでに img_sound_load.obj で定義されています
player.obj : error LNK2005: "struct BODY_player_t Player" (?Player@@3UBODY_player_t@@A) はすでに img_sound_load.obj で定義されています
fps.obj : error LNK2005: "struct BODY_player_t Player" (?Player@@3UBODY_player_t@@A) はすでに img_sound_load.obj で定義されています
main.obj : error LNK2005: "struct BODY_player_t Player" (?Player@@3UBODY_player_t@@A) はすでに img_sound_load.obj で定義されています
LIBCMT.lib(wwincrt0.obj) : error LNK2001: 外部シンボル "_wWinMain@16" は未解決です
Debug/STG.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
と、出てしまうのですがどうやって解決したらいいのでしょうか。
シューティングゲームの館についての質問
Re:シューティングゲームの館についての質問
メンチさん、こんにちは。
構造体の宣言が重複しているのではないでしょうか?
変数宣言集であるGlobalVariable.hでも
グローバル宣言集であるExternGV.hでも
BODY_player_t Player;
と宣言すると、このようなエラーが出ると思いますが、
ExternGV.hでは
extern BODY_player_t Player;
とすればよいと思います。
ExternGV.hではextern BODY_player_t Player;と構造体が宣言されていますか?
構造体の宣言が重複しているのではないでしょうか?
変数宣言集であるGlobalVariable.hでも
グローバル宣言集であるExternGV.hでも
BODY_player_t Player;
と宣言すると、このようなエラーが出ると思いますが、
ExternGV.hでは
extern BODY_player_t Player;
とすればよいと思います。
ExternGV.hではextern BODY_player_t Player;と構造体が宣言されていますか?
Re:シューティングゲームの館についての質問
↑画像クリックで拡大↑
先ほど実際に自分でも6章通りにやってみました。
画像の通りに
ExternGV.hを書いてちゃんとコンパイル通りました。
なんら独自の変更は加えていません。
6章どおりコピー・ペーストしていっただけです。
もう一度、コピーペーストがきちんと出来ているか、
特に先ほどのexternの部分がきちんとかけているか、ご確認ください。
先ほど実際に自分でも6章通りにやってみました。
画像の通りに
ExternGV.hを書いてちゃんとコンパイル通りました。
なんら独自の変更は加えていません。
6章どおりコピー・ペーストしていっただけです。
もう一度、コピーペーストがきちんと出来ているか、
特に先ほどのexternの部分がきちんとかけているか、ご確認ください。
Re:シューティングゲームの館についての質問
ありがとうございました。
こちらの単純なミスのせいだったので、今後はもっと気をつけて見ようと思います。
ほとんどのエラーは消えたのですが、
リンク中...
LIBCMT.lib(wwincrt0.obj) : error LNK2001: 外部シンボル "_wWinMain@16" は未解決です
Debug/STG.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラ
これだけが、消えません。
他のところで、
「「Win32 Application」でmainを実装しているのだと思いますが
とりあえず簡単にはこれではうまくビルドできません(単に僕が知らないだけかも)
「Win32 Console Application」を選べばmainで始まるプログラムを
ビルドできます
WinMainで始まるプログラムで良ければ「Win32 Application」の後のステップ1/1で
「単純なWin32アプリケーション」か「標準的な"Hello World!"アプリケーション」
を選ぶと楽です
また、「Win32 Console Application」でもステップ1/1で
「単純アプリケーション」や「"Hello, World!"アプリケーション」
等を選んでも少し楽ができます
mainで始めたければ「Win32 Console Application」
WinMainで始めたければ「Win32 Application」
とでも覚えておけば、今後このエラーに悩まされる可能性が減ります」
と、書いてあったので試してみたのですが、
コンパイル中...
background.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\background.cpp(13) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
fps.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\fps.cpp(24) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
img_sound_load.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\img_sound_load.cpp(11) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
initial.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\initial.cpp(18) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
main.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\main.cpp(52) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
player.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\player.cpp(10) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
コードを生成中...
cl.exe の実行エラー
三回目.exe - エラー 6、警告 0
と、でてしまいたした。どうすればいいのでしょうか?
こちらの単純なミスのせいだったので、今後はもっと気をつけて見ようと思います。
ほとんどのエラーは消えたのですが、
リンク中...
LIBCMT.lib(wwincrt0.obj) : error LNK2001: 外部シンボル "_wWinMain@16" は未解決です
Debug/STG.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラ
これだけが、消えません。
他のところで、
「「Win32 Application」でmainを実装しているのだと思いますが
とりあえず簡単にはこれではうまくビルドできません(単に僕が知らないだけかも)
「Win32 Console Application」を選べばmainで始まるプログラムを
ビルドできます
WinMainで始まるプログラムで良ければ「Win32 Application」の後のステップ1/1で
「単純なWin32アプリケーション」か「標準的な"Hello World!"アプリケーション」
を選ぶと楽です
また、「Win32 Console Application」でもステップ1/1で
「単純アプリケーション」や「"Hello, World!"アプリケーション」
等を選んでも少し楽ができます
mainで始めたければ「Win32 Console Application」
WinMainで始めたければ「Win32 Application」
とでも覚えておけば、今後このエラーに悩まされる可能性が減ります」
と、書いてあったので試してみたのですが、
コンパイル中...
background.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\background.cpp(13) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
fps.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\fps.cpp(24) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
img_sound_load.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\img_sound_load.cpp(11) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
initial.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\initial.cpp(18) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
main.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\main.cpp(52) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
player.cpp
c:\documents and settings\???\デスクトップ\いろいろ\授業\c\三回目\player.cpp(10) : fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
コードを生成中...
cl.exe の実行エラー
三回目.exe - エラー 6、警告 0
と、でてしまいたした。どうすればいいのでしょうか?
Re:シューティングゲームの館についての質問
ごめんなさい・・よくわからないので、本家DXライブラリの質問掲示板
http://hpcgi2.nifty.com/natupaji/aska.cgi
で同じ質問をしていただけないでしょうか。
DXライブラリ製作者様が答えてくれます。力及ばず申し訳ないです。。
http://hpcgi2.nifty.com/natupaji/aska.cgi
で同じ質問をしていただけないでしょうか。
DXライブラリ製作者様が答えてくれます。力及ばず申し訳ないです。。
Re:シューティングゲームの館についての質問
>予期しない EOF
このエラーは MSVCのプリコンパイルヘッダ関連のエラーです。
解決方法は2通りあります。
1 stdafx.h
もしソースコードのあるディレクトリに stdafx.hがあるのなら(本当は stdafx.hとは限らないのですが)、各 cpファイルの全ての先頭に
[color=#d0d0ff" face="monospace]#include "stdafx.h"[/color]
を追加してみてください。
2 プリコンパイルヘッダを使わない
ソリューションエクスプローラで対象のプロジェクトを選択して右クリック→プロパティで、プロパティダイアログを出してください。
その中の「構成プロパティ」→「C/C++」→「プリコンパイル済みヘッダ」という項目があるのでクリックしてください。
するとダイアログ内の右側の内容が変化し、「プリコンパイル済みヘッダの作成/使用」という項目があるのでそれを「プリコンパイル済みヘッダを使用しない」、としてください。
同様にソリューションエクスプローラ内にある各 cppファイルも選択して「プリコンパイル済みヘッダの作成/使用」の設定を「プリコンパイル済みヘッダを使用しない」としてください。
このエラーは MSVCのプリコンパイルヘッダ関連のエラーです。
解決方法は2通りあります。
1 stdafx.h
もしソースコードのあるディレクトリに stdafx.hがあるのなら(本当は stdafx.hとは限らないのですが)、各 cpファイルの全ての先頭に
[color=#d0d0ff" face="monospace]#include "stdafx.h"[/color]
を追加してみてください。
2 プリコンパイルヘッダを使わない
ソリューションエクスプローラで対象のプロジェクトを選択して右クリック→プロパティで、プロパティダイアログを出してください。
その中の「構成プロパティ」→「C/C++」→「プリコンパイル済みヘッダ」という項目があるのでクリックしてください。
するとダイアログ内の右側の内容が変化し、「プリコンパイル済みヘッダの作成/使用」という項目があるのでそれを「プリコンパイル済みヘッダを使用しない」、としてください。
同様にソリューションエクスプローラ内にある各 cppファイルも選択して「プリコンパイル済みヘッダの作成/使用」の設定を「プリコンパイル済みヘッダを使用しない」としてください。