龍神録プログラムをbccdeveloperを使って作りたい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
夜霧のミスト

龍神録プログラムをbccdeveloperを使って作りたい

#1

投稿記事 by 夜霧のミスト » 15年前

こんばんは。質問させて頂きました。
タイトルにもあるように、龍神録プログラムをborlandc++とbccdeveloperを使って作りたいのです。
Visual c++を使わない理由はPCのスペックの関係でコンパイルに時間がかかりすぎるからです。

ゲームプログラミングの館の方ではbccdeveloperでも上手くいったのですが、龍神録プログラミングの方は上手くできません。
projectフォルダのincludeファイルとsourceファイルの中にbcc用のDXライブラリを追加してコンパイルしても
4章以降では(3章まではきちんとコンパイルされて実行できました)lord関数に対してエラーを出します。
Visual c++のようにプロジェクトファイルから実行するような事をしないと駄目なのでしょうか?

説明が上手でなくて申し訳ないのですけれど、お答え頂ければ幸いです。よろしくお願いします

last snow

Re:龍神録プログラムをbccdeveloperを使って作りたい

#2

投稿記事 by last snow » 15年前

結論からいえば、borlandc++とbccdeveloperでも出来ます。
私の方の環境では、エラーメッセージは表示されませんでした。

解決したいのであれば、エラーコードを貼って頂かない事にはなんとも言えませんね……。

夜霧のミスト

Re:龍神録プログラムをbccdeveloperを使って作りたい

#3

投稿記事 by 夜霧のミスト » 15年前

ご回答ありがとうございます。bccdeveloperとborlandc++でも出来るのですね。
エラーメッセージは以下のとおりです。

\project\4章\mydat\source>bcc32 -tW main.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
main.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 外部シンボル 'load()' が未解決(C:\MYWORKS\SAND2\PROJECT\4章\MYDAT\SOURCE
\MAIN.OBJ が参照)
Error: 外部シンボル 'graph_main()' が未解決(C:\MYWORKS\SAND2\PROJECT\4章\MYDAT\
SOURCE\MAIN.OBJ が参照)
Error: 外部シンボル 'CheckStateKey(unsigned char)' が未解決(C:\MYWORKS\SAND2\PR
OJECT\4章\MYDAT\SOURCE\MAIN.OBJ が参照)
Error: 外部シンボル 'GetHitKeyStateAll_2()' が未解決(C:\MYWORKS\SAND2\PROJECT\4
章\MYDAT\SOURCE\MAIN.OBJ が参照)

よろしくお願いします。

last snow

Re:龍神録プログラムをbccdeveloperを使って作りたい

#4

投稿記事 by last snow » 15年前

えぇとですね、プロジェクトの方にkey.cppやchar.cppなどを追加しました?

ビルドログを見る限り、追加されていないように見えるのですが……

夜霧のミスト

Re:龍神録プログラムをbccdeveloperを使って作りたい

#5

投稿記事 by 夜霧のミスト » 15年前

ご回答ありがとうございます。
key.cppやchar.cppは追加しました。
ですが、今度は以下のようなエラーが出てしまいました。

エラー E2141 main.cpp 31: 宣言の構文エラー(関数 __stdcall WinMain(HINSTANCE__ *,
HINSTANCE__ *,char *,int) )
#define GLOBAL_INSTANCE 
#include "../include/GV.h"

int Key[256];

int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[/url]){
    char GetHitKeyStateAll_Key[256];
    GetHitKeyStateAll( GetHitKeyStateAll_Key );
    for(int i=0;i<256;i++){
        if(GetHitKeyStateAll_Key==1) GetHitKeyStateAll_InputKey++;
        else                            GetHitKeyStateAll_InputKey=0;
    }
    return 0;
}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
    ChangeWindowMode(TRUE);//ウィンドウモード
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化

    while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
          //↑メッセージ処理          ↑画面をクリア        ↑入力状態を保存       ↑ESCが押されていない


        //ココ!!
        //現在のキー入力処理を行う
extern int GetHitKeyStateAll_2();
//受け取ったキー番号の現在の入力状態を返す
extern int CheckStateKey(unsigned char Handle);

//ループで必ず行う3大処理
int ProcessLoop(){
    if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す
    if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す
    GetHitKeyStateAll_2();//現在のキー入力処理を行う
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
    ChangeWindowMode(TRUE);//ウィンドウモード
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化

    while(ProcessLoop()==0){//メインループ

        if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク
        ScreenFlip();//裏画面反映
    }

    DxLib_End();//DXライブラリ終了処理
    return 0;
}

        


        ScreenFlip();
    }

    DxLib_End();
    return 0;
}


エラーが出た部分をコピーペーストを行ってコンパイルしたのですが駄目でした。

また、自分ではソースを触らず、収納されている4章をそのままコンパイルしようとしたところ、

Fatal: ファイル LIBTHEORA_STATIC.LIB が開けません

というエラーが出ました。これはディレクトリ名が半角でないと起こるみたいなのですが、
4章を4にしても同様のエラーが出ました。

解決できる方法やお気づきの点がありましたらご教授の程をよろしくお願いします。

last snow

Re:龍神録プログラムをbccdeveloperを使って作りたい

#6

投稿記事 by last snow » 15年前

えぇとですね、どうやら四章の

>Fatal: ファイル LIBTHEORA_STATIC.LIB が開けません

このエラーは、libファイルへのスコープが合っていないために起こるエラーです。
スコープ内に対象のlibファイルがないとそのエラーが出るようです。

includeファイル内ではなく、そのプロジェクトのdbpファイルと同じ個所に全てのlibファイルを置くと解決します。
または、bccのlibファイル内に置くという方法が考えられます。


また、上記main.cpp内のエラーですが、winmain関数内でextern宣言や関数を宣言している為に起きている
エラーです。
画像

wing

Re:龍神録プログラムをbccdeveloperを使って作りたい

#7

投稿記事 by wing » 15年前

4章のmain.cppファイルは、main.cpp変更のところに
書かれているコードがすべてです。
3章のmain.cppに4章の変更を足してはいけません。
3章のmoin.cppの
#define GLOBAL_INSTANCE
#include "../include/GV.h"
以外は消して、4章のmain.cpp変更をコピペすればいいです。

夜霧のミスト

Re:龍神録プログラムをbccdeveloperを使って作りたい

#8

投稿記事 by 夜霧のミスト » 15年前

ご回答ありがとうございます。
仰ったとおりdbpファイルと同じ場所にlibファイルを置く事によって、コンパイルすることが出来ました!
本当にありがとうございました!!

夜霧のミスト

Re:龍神録プログラムをbccdeveloperを使って作りたい

#9

投稿記事 by 夜霧のミスト » 15年前

last snowさん、wingさん、ありがとうございます!
おかげ様で無事先に進めそうです!
また、章が進むごとにフォルダも進めていくと勘違いしていましたが、1章の何も書いて無いフォルダを使い続ければいいのですね!

閉鎖

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