前回はお世話になりました。また質問したいことがあるのできました。
自分でDXライブラリをつかってゲームを作ってみようと思い、新しくプロジェクトを作ってから
DXライブラリ置き場に書いてあった「使い方説明」どおりにプロジェクトの
プロパティを設定して、以下のプログラムを組み、デバッグを開始したところ、以下のエラーが出ました。
解読しようとしましたがよくわからなかったので、解決方法を教えてください。
#define GLOBAL_INSTANCE //他のファイルとの差別化に必要
#include"../include/GV.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if(ChangeWindowMode(TRUE)!=DX_CHANGESCREEN_OK||SetDrawScreen(DX_SCREEN_BACK)!=0
||DxLib_Init()==-1)return -1;
WaitKey();
DxLib_End();
return 0;
}
1>------ ビルド開始: プロジェクト: Escape, 構成: Debug Win32 ------
1>コンパイルしています...
1>main.cpp
1>c:\users\hiroyuki\desktop\escape\escape\mydat\source\main.cpp(5) : error C2146: 構文エラー : ';' が、識別子 'WinMain' の前に必要です。
1>c:\users\hiroyuki\desktop\escape\escape\mydat\source\main.cpp(5) : error C2065: 'HINSTANCE' : 定義されていない識別子です。
1>c:\users\hiroyuki\desktop\escape\escape\mydat\source\main.cpp(5) : error C2146: 構文エラー : ')' が、識別子 'hInstance' の前に必要です。
1>c:\users\hiroyuki\desktop\escape\escape\mydat\source\main.cpp(5) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\hiroyuki\desktop\escape\escape\mydat\source\main.cpp(6) : error C2059: 構文エラー : ')'
1>c:\users\hiroyuki\desktop\escape\escape\mydat\source\main.cpp(7) : error C2143: 構文エラー : ';' が '{' の前にありません。
1>c:\users\hiroyuki\desktop\escape\escape\mydat\source\main.cpp(7) : error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)
1>ビルドログは "file://c:\Users\hiroyuki\Desktop\Escape\Escape\Debug\BuildLog.htm" に保存されました。
1>Escape - エラー 7、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
初歩的な質問ですみません
Re:初歩的な質問ですみません
DXライブラリを使うには "DxLib.h" をインクルードする事が必要です。
また基本的に、DxLib_Init()を実行するよりも前にDXライブラリの関数を呼び出してはいけません。
ChangeWindowMode() のように DxLib_Init() よりも前に呼び出すことができる関数も存在しますが、
このタイプの関数の方が例外であり、限られています。
また基本的に、DxLib_Init()を実行するよりも前にDXライブラリの関数を呼び出してはいけません。
ChangeWindowMode() のように DxLib_Init() よりも前に呼び出すことができる関数も存在しますが、
このタイプの関数の方が例外であり、限られています。
Re:初歩的な質問ですみません
上のプログラムを書き変えてみたところ、他のエラーが出てしまったのですが・・・
何の事だかさっぱりです。よければご教示ください。
#define GLOBAL_INSTANCE //他との差別化のために必要
#include"../../../include/DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if(ChangeWindowMode(TRUE)!=DX_CHANGESCREEN_OK||DxLib_Init()==-1||
SetDrawScreen(DX_SCREEN_BACK)!=0)return -1;
//ウィンドウモード、裏画面描画、DXライブラリ初期化処理
WaitKey();
DxLib_End();//DXライブラリ終了処理
return 0;
}
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_execute_transformation が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jcopy_markers_execute が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_adjust_parameters が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_request_workspace が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jcopy_markers_setup が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _write_stdout が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _read_stdin が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _read_scan_script が関数 _parse_switches で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _keymatch が関数 _parse_switches で参照されました。
1>C:\Users\hiroyuki\Desktop\Escape\Escape\Debug\Escape.exe : fatal error LNK1120: 外部参照 9 が未解決です。
1>ビルドログは "file://c:\Users\hiroyuki\Desktop\Escape\Escape\Debug\BuildLog.htm" に保存されました。
1>Escape - エラー 10、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
何の事だかさっぱりです。よければご教示ください。
#define GLOBAL_INSTANCE //他との差別化のために必要
#include"../../../include/DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if(ChangeWindowMode(TRUE)!=DX_CHANGESCREEN_OK||DxLib_Init()==-1||
SetDrawScreen(DX_SCREEN_BACK)!=0)return -1;
//ウィンドウモード、裏画面描画、DXライブラリ初期化処理
WaitKey();
DxLib_End();//DXライブラリ終了処理
return 0;
}
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_execute_transformation が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jcopy_markers_execute が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_adjust_parameters が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_request_workspace が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jcopy_markers_setup が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _write_stdout が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _read_stdin が関数 _main で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _read_scan_script が関数 _parse_switches で参照されました。
1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _keymatch が関数 _parse_switches で参照されました。
1>C:\Users\hiroyuki\Desktop\Escape\Escape\Debug\Escape.exe : fatal error LNK1120: 外部参照 9 が未解決です。
1>ビルドログは "file://c:\Users\hiroyuki\Desktop\Escape\Escape\Debug\BuildLog.htm" に保存されました。
1>Escape - エラー 10、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
Re:初歩的な質問ですみません
WinMainでエラーが起きているので、
GV.hの中に問題があるんじゃないでしょうか。
GV.hの中にDxLib.hのincludeはありますか?
GV.hの中に問題があるんじゃないでしょうか。
GV.hの中にDxLib.hのincludeはありますか?
Re:初歩的な質問ですみません
回答遅くなってしまいすみません
>>Dixqさん
龍神録遊ばせていただきました!とても面白かったです。
そこで龍神録プログラミングの館で配布されているprojectの、「~章」を一つだけ
用意したもの(datとincludeはprojectから抜きました)を自分で用意しようと思ったのですが、
projectのryujin.slnだとmain.cppに書いたプログラムが正常に動くのに、
自分で新たに作成したプロジェクトだと動かないのです。
なにか特別な設定をしなければならないのでしょうか?
えっとすみません、プログラムを組みなおしたときに、
GV.h自体消してしまいました。
なので今はWinMainの前でDxLib.hをincludeしています。
ちなみに前、GV.hがあった時にはそこに以下のように書いていました。
#include<math.h>
#include"../../../include/DxLib.h"
>>Dixqさん
龍神録遊ばせていただきました!とても面白かったです。
そこで龍神録プログラミングの館で配布されているprojectの、「~章」を一つだけ
用意したもの(datとincludeはprojectから抜きました)を自分で用意しようと思ったのですが、
projectのryujin.slnだとmain.cppに書いたプログラムが正常に動くのに、
自分で新たに作成したプロジェクトだと動かないのです。
なにか特別な設定をしなければならないのでしょうか?
えっとすみません、プログラムを組みなおしたときに、
GV.h自体消してしまいました。
なので今はWinMainの前でDxLib.hをincludeしています。
ちなみに前、GV.hがあった時にはそこに以下のように書いていました。
#include<math.h>
#include"../../../include/DxLib.h"
Re:初歩的な質問ですみません
> 1>libjpeg_d.lib(jpegtran.obj) : error LNK2019: 未解決の外部シンボル _jtransform_execute_transformation が関数 _main で参照されました。
(略)
> 1>Escape - エラー 10、警告 0
> ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
>
プロジェクトのプロパティで、『構成プロパティ→リンカ→システム』の『サブシステム』の項目が『Windows』になっているか確認してください。
#『コンソール』になっていませんか?
(略)
> 1>Escape - エラー 10、警告 0
> ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
>
プロジェクトのプロパティで、『構成プロパティ→リンカ→システム』の『サブシステム』の項目が『Windows』になっているか確認してください。
#『コンソール』になっていませんか?
Re:初歩的な質問ですみません
>>ISLeさん
遅い時間にご返答いただきすみません。
もろ#『コンソール』でした
『Windows』に変更すると問題なく動きました!的確な指摘ありがとうございました。
ゲーム作る前にVC++の使い方覚えなきゃと痛感しました。
これでこの質問は解決にしたいと思います。返答していただいた方々ありがとうございます。
遅い時間にご返答いただきすみません。
もろ#『コンソール』でした
『Windows』に変更すると問題なく動きました!的確な指摘ありがとうございました。
ゲーム作る前にVC++の使い方覚えなきゃと痛感しました。
これでこの質問は解決にしたいと思います。返答していただいた方々ありがとうございます。