Re: VC++2005のビルド ( No.1 ) |
- 名前:キーチック 日時:2007/06/11 02:12
設定通りやれば出来ると思いますよ.わたしは出来ましたし...
とりあえず,エラー内容からするとmain関数を使用しているようですが,Winmain関数を使うことに注意が必要です.
あと,read_scan_script,keymatch,parse_switchesなどの外部シンボルとされているものは,もしかするとDXライブラリにも標準関数にもない自作の関数名のように思います.
それらについては,使用する前に関数定義がされているか,その使用の宣言がされているなどしないと,こういうエラーになることが多いように思います.
もしかすると過去のCプログラムを流用しているのかもしれませんが,どうやらDXライブラリはC++上でCの記述を行っているだけですので,一部の作法はC++に従って修正する必要があると思います.
|
Re: VC++2005のビルド ( No.2 ) |
- 名前:DX 日時:2007/06/11 16:03
そのソースはこのようになってます
Winmainはつかってますよ
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int x, add;
// ウインドウモードで起動
ChangeWindowMode( TRUE );
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1;
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK );
// メインループ(何かキーが押されたらループを抜ける)
x = 0;
add = 8;
while( ProcessMessage() == 0 && CheckHitKeyAll() == 0 )
{
// 画面のクリア
ClearDrawScreen();
x += add;
if( x < 0 || x > 640 ) add = -add;
DrawBox( x, 0, x + 100, 100, GetColor(255,0,0), TRUE );
// 裏画面の内容を表画面に反映
ScreenFlip();
}
// DXライブラリの後始末
DxLib_End();
// ソフトの終了
return 0;
}
|
Re: VC++2005のビルド ( No.3 ) |
- 名前:lunar 日時:2007/06/11 21:40
#include "DxLib.h"
しかしていないのであれば、その DxLib.h がDXライブラリのものではないものが include されているのかもしれません。
VC++では分からないのですが、
bccではWinMainを使用しているときにmain(という名の関数)を使うとエラーになります。
(下記のようなエラーが出ます)
もしかしたら、mainという名の関数は使わないほうがいいのかもしれません。
エラー E2120 *******.cpp ***: プログラムの中からは main を呼び出せない(関数 __st
dcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) )
|
Re: VC++2005のビルド ( No.4 ) |
- 名前:キーチック 日時:2007/06/12 02:24
とりあえず,DXさんのソースをわたしが使っている環境にいれたら問題なく動きました.
「使い方」の
ttp://homepage2.nifty.com/natupaji/DxLib/dxuse_vc2005express.html#R2
あたりのところを微妙に抜かしたのではないでしょうか.
丁寧にやれば動くと思いますので再挑戦してみて配下がでしょう.
あるいはハードウェア環境と言う線もなくはないかもしれませんが…
|