• ベストアンサー

c++をVisualStudioでコンパイル

http://www13.plala.or.jp/kymats/study/game_other/TOKOPUYO/tokopuyo.html ここのソースを自分でコンパイルして動かしたいです。 VisualStudio2005(製品版)で実行ファイルを作れますか? VBはわかるのですがC++は初めてです。 わからないままwin32プロジェクトを作って、ビルドしたら58件エラーがでました。コンパイルしても7件エラーがでました。 よろしくおねがいします

質問者が選んだベストアンサー

  • ベストアンサー
  • sygh
  • ベストアンサー率76% (42/55)
回答No.2

元のソースコードがかなり読みづらいので、C++初心者には絶対にお勧めできませんが、Windowsゲーム プログラムの基礎としてはそれなりに面白そうなので、ビルドまでの手順を示します。実際に正しく動作するかどうかはご自分でチェックしてください。 1. VC++ 2005の「ファイル→新規作成→プロジェクト」で、「Visual C++」の「Win32プロジェクト」を選択、プロジェクト名に「tokopuyo」と入力してOK押下。 2. 「アプリケーションの設定」で「空のプロジェクト」をチェックしてOK押下。 3. ソース一式をプロジェクト フォルダにコピーし、プロジェクトに追加。 4. 「プロジェクト→tokopuyo のプロパティ」で、左上の「構成」一覧から「すべての構成」を選択し、「構成プロパティ→全般→文字セット」を「マルチ バイト文字セットを使用する」に設定。 5. 下記を修正。 (1)元ソースLine392: Add=d*40*(DWORD)pow(2,rensa-1); Score+=Add; → Add=d*40*(DWORD)pow(2.0,rensa-1.0); Score+=Add; (2)元ソースLine480: for(DWORD sleep=0;FallPuyo();sleep+=100){ → DWORD sleep = 0; for(sleep=0;FallPuyo();sleep+=100){ (3)元ソースLine500: for(int x=0;x<FW;x++){ → int x = 0; for(x=0;x<FW;x++){ (4)元ソースLine519: for(int y=0;y<PH;y++){ → int y = 0; for(y=0;y<PH;y++){ 6. 効果音用WAVファイルとBGM用MIDIファイルのリソースが含まれていないので、自前で作るなり、下記にアップロードされているEXEファイルからResource Hackerを使って抽出するなりしてください。後者をする場合は、元ソースの作者さんに、抽出して使って良いかどうか確認をとったほうがいいと思います。 ・EXEとか背景画像とか取説とか http://pub.idisk-just.com/fview/uNcY8BbJDzSRy5BmrTBjPm9ljNp26894M0osQ96zXkBfyY7eq6OTSo4C4-925x6Az_JV7lv-55w ・Resource Hacker http://www.angusj.com/resourcehacker/ 7. WAVとMIDIをプロジェクトに追加してビルド。 8. haikei.bmpをカレント ディレクトリ(VCから実行する場合はプロジェクト フォルダ、それ以外はEXEのあるフォルダ)に配置して実行。 初級者には何をやっているのか分からないと思いますので、Windowsアプリを組む前に、先にC/C++の基礎をコンソール アプリでみっちり勉強なさってからのほうが良いかと思われます。いきなりWindowsアプリに手を出すのはいくらなんでも無謀すぎます。

int123
質問者

お礼

とても丁寧な回答ありがとうございます。 コマンドラインで実行するC言語プログラムは作ったことはあるのですが、やはりやる気だけではなかなか難しいものですね。 さて、上記手順を試してみたところ7. のビルドで2件エラーがありました。 エラー 7 error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。 MSVCRTD.lib エラー 8 fatal error LNK1120: 外部参照 1 が未解決です。 C:\Documents and Settings\roki\My Documents\Visual Studio 2005\Projects\puyo3\Debug\puyo3.exe MSVCRTD.libの内部で参照の設定か何かが足りないのでしょうか?自分でもこれから調べようと思います。

その他の回答 (2)

  • sygh
  • ベストアンサー率76% (42/55)
回答No.3

No.2のお礼コメントに対する捕捉です。 多分「Win32 プロジェクト」でなく「Win32 コンソール アプリケーション」でプロジェクトを作成しているせいで、エントリ ポイントがWinMain関数でなくmain関数になっているためにリンク エラーが発生しています。 提示した手順1.の最初からじっくり読んで、その通りに作成してください。 プログラミングは急がば回れ、の精神で取り組むことが大切かと思われます。

int123
質問者

お礼

大変失礼しました。おっしゃるとおり、win32コンソールアプリケーションを選んでました。 win32プロジェクトで作り直して無事ビルド、起動できました。 どうもありがとうございます!!

  • 5S6
  • ベストアンサー率29% (675/2291)
回答No.1

画像が小さすぎてエラーが見えない。 たぶんプロジェクトにcppとhファイルが組み込まれていないからでしょう。 プロジェクトにすべてのヘッダとソースを追加してください。 エラーもわからないのでコピペしてください

int123
質問者

お礼

ありがとうございました。