トップページ > 過去ログ > 記事閲覧
Release構成について
名前:しゅう 日時: 2010/01/20 18:00

こんにちは。 現在「14歳からはじめるC言語わくわくゲームプログラミング教室Visual Studio 2008編」で ゲームプログラミングの学習をしています。 第4章の209ページでReleaseのやり方があったので、試してみたのですが、Releaseで ビルドをするとエラーで実行ファイルを作成することができませんでした。 Debugだとビルドでエラーは出ず、実行できます。 エラー内容を確認しても、どうすればよいのか分からなかったので、 ご教授をよろしくお願いいたします。 以下が、エラーの内容です。 リンクしています... chap4.obj : error LNK2001: 外部シンボル ""struct Bullet * g_ebullets" (?g_ebullets@@3PAUBullet@@A)" は未解決です。 chap4.obj : error LNK2001: 外部シンボル ""int g_usedenemy_num" (?g_usedenemy_num@@3HA)" は未解決です。 chap4.obj : error LNK2001: 外部シンボル ""int g_bulletimage" (?g_bulletimage@@3HA)" は未解決です。 chap4.obj : error LNK2001: 外部シンボル ""struct Weapon * g_weapons" (?g_weapons@@3PAUWeapon@@A)" は未解決です。 chap4.obj : error LNK2001: 外部シンボル ""struct Enemy * g_enemies" (?g_enemies@@3PAUEnemy@@A)" は未解決です。 C:\Users\syu\Documents\Visual Studio 2008\Projects\chap4\Release\chap4.exe : fatal error LNK1120: 外部参照 5 が未解決です。

Page: 1 |

Re: Release構成について ( No.1 )
名前:管理人 日時:2010/01/28 01:52

エラー文の通り、Bullet * g_ebullets や int g_usedenemy_num 等の実体が宣言がされていないようです これらの実体の宣言は mymain.cpp で行われているようですが、mymain.cpp はプロジェクトに含まれていますでしょうか?
Re: Release構成について ( No.2 )
名前:しゅう 日時:2010/02/04 18:01

ありがとうございます。 Debugではエラーは出ず、Releaseのときだけエラーが出るのは Releaseのときは、mymain.cppがプロジェクトに含まれていないと いうことでしょうか。 Releaseに切り替えても、mymain.cppは消えてはいませんでした。
Re: Release構成について ( No.3 )
名前:いっち 日時:2010/02/04 20:14

プロジェクトのファイル一覧には表示されていても、ビルドから除外する設定になっているのかもしれません。 開発環境をVS2008と仮定した上でのことですが、以下のことを確認してみてください。 1.ソリューションエクスプローラから"mymain.cpp"を右クリックしメニューからプロパティを選択してください。 2."mymain.cpp プロパティー ページ"というダイアログが表示されますので、構成リストボックスから"Release"を選択し、 ツリービューから"構成プロパティ"の下の"全般"を選択してください。 3."ビルドから除外"という項目が右のペインに表示されるので、値が"いいえ"になっていることを確認してください。 また、その下の"ツール"という項目の値が"C/C++ コンパイラ ツール"になっていることも合わせて確認してください。 他にもdefineの_DEBUGやNDEBUGが悪さをしていることもあるのでifdefやifndefの確認もしてみてください。 ※ソリューションエクスプローラとはツリー上にファイルの一覧が載っているところです。無ければCtrl+Alt+Lキーで表示されるはずです
Re: Release構成について ( No.4 )
名前:しゅう 日時:2010/02/10 18:00

ありがとうございます。 開発環境はVisual C++ 2008 Express Editionですので、1から3の通りに確認しましたが、問題はありませんでした。 ifdefやifndefの確認というのはどのようにするのでしょうか。
Re: Release構成について ( No.5 )
名前:いっち 日時:2010/02/10 18:45

ifdefやifndefについては、使い方をうまく説明する自信が無いので、入門系のサイトをご覧下さい。 私では現状のまま原因を突き止めるのは難しいので、 出来るのであればプロジェクトを丸ごと圧縮してアップローダに上げて頂けますでしょうか? ("*.ncb"や"Debug"、"Release"フォルダは必要ありません) もちろん、他の方のアドバイスをお待ち頂いてもかまいません。 よろしくお願いします。
Re: Release構成について ( No.6 )
名前:管理人 日時:2010/02/15 00:14

私もエラーが発生する原因が分かりません いっちさんも仰られていますが、件のエラーが発生するプログラムのプロジェクトを アップロードするか、若しくは BQE00322(あっとまーく)nifty.com まで送っていただけないでしょうか?

Page: 1 |