初めまして。WinMainのことで訪ねたいことがあります。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ネオドラカタ
記事: 10
登録日時: 3年前

初めまして。WinMainのことで訪ねたいことがあります。

#1

投稿記事 by ネオドラカタ » 3年前

初めまして。早速で悪いのですが、質問です。
僕は、Windows10というOSで、Visual Studio Community 2017を使用しています。
それで、新・ゲームプログラミングの館の1・1章に置かれてあるGameProg_2012のファイルを開いて
プログラミングしようと思いましたが、デバッグ無しで開始しようとしたら、エラーが出てできませんでした。
その後、WinMainの下に赤線が出ていたのでWinMainをカーソルに移動させたら
';'が必要です
とあったので、;を入力してみました。しかし入力したにもかかわらず、まだ先のエラーが存在しているうえ、
その後に
この宣言にはストレージクラスまたは型宣言子がありません
という別のエラーが大量に発生しました。
僕はただいま、WinMainで発生したエラーの原因と、対処法が知りたいです。
(学校でコンソールアプリケーションでCを学習中でありまして、先日型宣言子を覚えました)

コード:

#include "DxLib.h"

int WINAPI WinMain;(HINSTANCE,HINSTANCE,LPSTR,int){
        DxLib_Init();   // DXライブラリ初期化処理
        WaitKey();      // キー入力待ち
        DxLib_End();    // DXライブラリ終了処理
        return 0;
}

アバター
keito94
記事: 264
登録日時: 3年前
連絡を取る:

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#2

投稿記事 by keito94 » 3年前

もしかして、こうではないのでしょうか?

コード:

#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){
        DxLib_Init();   // DXライブラリ初期化処理
        WaitKey();      // キー入力待ち
        DxLib_End();    // DXライブラリ終了処理
        return 0;
}
デバッグは投げ捨てるものではない。
今までの質問でこれは学んだこと。
質問する時は、必ずちゃんと調べた上に問題をもとにした仕様書を作ってから質問すること。
仕様書の大切さを改めて思い知った…。


Math

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#4

投稿記事 by Math » 3年前

これは既知の問題で何度も過去ログで答えています。
http://dixq.net/forum/viewtopic.php?f=3&t=19126
を参照してください。


ネオドラカタ
記事: 10
登録日時: 3年前

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#6

投稿記事 by ネオドラカタ » 3年前

あっ、ソリューションの再ターゲットっていうところを押したら、WinMainの下の赤線がなくなった・・・けどまた別のエラーが出た・・・
ぬか喜びじゃぁ。

コード:

#include "DxLib.h"

int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int ) {
        DxLib_Init();   // DXライブラリ初期化処理
        WaitKey();      // キー入力待ち
        DxLib_End();    // DXライブラリ終了処理
        return 0;
}
以下、エラーメッセージ
1>------ ビルド開始: プロジェクト: GameProg_2012, 構成: Debug Win32 ------
1>test.cpp
1>DxUseCLib_d.lib(DxUseCLib.obj) : error LNK2019: 未解決の外部シンボル _vsprintf が関数 "int __cdecl DxLib::_VSPRINTF(char *,char const *,char *)" (?_VSPRINTF@DxLib@@YAHPADPBD0@Z) で参照されました。
1>DxUseCLib_d.lib(DxUseCLib.obj) : error LNK2019: 未解決の外部シンボル _vswprintf が関数 "int __cdecl DxLib::_VSWPRINTF(unsigned short *,unsigned short const *,char *)" (?_VSWPRINTF@DxLib@@YAHPAGPBGPAD@Z) で参照されました。
1>LIBCMTD.lib(vswprintf.obj) : error LNK2001: 外部シンボル "_vswprintf" は未解決です。
1>libpng_d.lib(pngrutil.obj) : error LNK2001: 外部シンボル "_sprintf" は未解決です。
1>libpng_d.lib(pngwutil.obj) : error LNK2001: 外部シンボル "_sprintf" は未解決です。
1>libjpeg_d.lib(jerror.obj) : error LNK2001: 外部シンボル "_sprintf" は未解決です。
1>libpng_d.lib(pngread.obj) : error LNK2001: 外部シンボル "_sprintf" は未解決です。
1>libpng_d.lib(pngrtran.obj) : error LNK2001: 外部シンボル "_sprintf" は未解決です。
1>libpng_d.lib(png.obj) : error LNK2001: 外部シンボル "_sprintf" は未解決です。
1>libpng_d.lib(pngwrite.obj) : error LNK2001: 外部シンボル "_sprintf" は未解決です。
1>libjpeg_d.lib(jmemmgr.obj) : error LNK2019: 未解決の外部シンボル _sscanf が関数 _jinit_memory_mgr で参照されました。
1>LIBCMTD.lib(vswprintf.obj) : error LNK2001: 外部シンボル "__vswprintf" は未解決です。
1>C:\Users\ネオドラカタ\Downloads\GameProg_2012\GameProg_2012\Debug\GameProg_2012.exe : fatal error LNK1120: 5 件の未解決の外部参照
1>プロジェクト "GameProg_2012.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

ネオドラカタ
記事: 10
登録日時: 3年前

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#7

投稿記事 by ネオドラカタ » 3年前

う~ん、一から作成に路線変更するしかないかぁ・・・


Math

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#9

投稿記事 by Math » 3年前

[注]
ソリューションを
右クリックし、[ソリューションの再ターゲット]
を実行してみてください。

ネオドラカタ
記事: 10
登録日時: 3年前

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#10

投稿記事 by ネオドラカタ » 3年前

あらっ、単にDXライブラリ入ってなかっただけでした。お騒がせしてすみません。

ネオドラカタ
記事: 10
登録日時: 3年前

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#11

投稿記事 by ネオドラカタ » 3年前

keito94 さんが書きました:もしかして、こうではないのでしょうか?

コード:

#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){
        DxLib_Init();   // DXライブラリ初期化処理
        WaitKey();      // キー入力待ち
        DxLib_End();    // DXライブラリ終了処理
        return 0;
}
ありがとうございます。デフォルトではそこがなかったりしますね。
あとDXライブラリを入れ忘れてた自分の早とちりでした。

ネオドラカタ
記事: 10
登録日時: 3年前

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#12

投稿記事 by ネオドラカタ » 3年前

Math さんが書きました:これは既知の問題で何度も過去ログで答えています。
http://dixq.net/forum/viewtopic.php?f=3&t=19126
を参照してください。
お教え頂き、ありがとうございます。今後の参考になります。

ネオドラカタ
記事: 10
登録日時: 3年前

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#13

投稿記事 by ネオドラカタ » 3年前

Math さんが書きました:もう1つ手前でつまずいてるわけではないですよね!・・・(^^;
http://dixq.net/forum/viewtopic.php?f=3&t=19140
まずDXライブラリのあたりでつまずいていました。ごめんなさいm(_ _)m

ネオドラカタ
記事: 10
登録日時: 3年前

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#14

投稿記事 by ネオドラカタ » 3年前

Math さんが書きました:DxLibをVer3.18c に入れ替えましたか?
そもそもDXライブラリ入れてませんでした。
はい、今は3.18c入れておりますので。

ネオドラカタ
記事: 10
登録日時: 3年前

Re: 初めまして。WinMainのことで訪ねたいことがあります。

#15

投稿記事 by ネオドラカタ » 3年前

Math さんが書きました:[注]
ソリューションを
右クリックし、[ソリューションの再ターゲット]
を実行してみてください。
実行してみましたら、成功いたしました(現在DXライブラリ導入済み)。
Mathさん、こんな初心者に対して対処法をお教えくださり、ありがとうございました。
これからの参考になります。

返信

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