Re: include先でのDXライブラリの使用 ( No.1 ) |
- 名前:キーチック 日時:2008/02/14 01:21
もうちょっと具体的な情報が欲しいですね.
関数定義の位置関係などはどうなっているのかなど....
ちなみに,私は自分で定義した関数内でビシビシDXライブラリ関数使っていますが,そのようなことは経験がありません.
|
Re: include先でのDXライブラリの使用 ( No.2 ) |
- 名前:XM3 日時:2008/02/15 02:00
返信ありがとうございます
説明不足でした、すみません
下に問題の起こる場合の状態を簡単にまとめてみました
お願いします
//----------ここからtest.cpp------------
#include "test2.cpp"
#include "DxLib.h"
//関数のプロトタイプ宣言
int TestLoad(int X) ;
// WinMain関数
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow ){
//DXライブラリ初期化
if( DxLib_Init() == -1 ) return -1 ;
TestLoad ;
}
//------------ここからtest2.cpp-------------
int TestLoad(int X){
// グラフィックのロード
X = LoadGraph( "test.bmp" ) ;
}
|
Re: include先でのDXライブラリの使用 ( No.3 ) |
- 名前:キーチック 日時:2008/02/15 02:46
上に書かれた情報で気になるのは下の3点です.
1. WinMain中に書かれているTestLoadでは引数を与えているか.
2. LoadGraphでの戻り値Xは,DrawGraphを使うときのグラフィックハンドルとして使われるが,WinMainには返しているのか.
3. include文は下の順番にしたほうが良いのではないか.
#include "DxLib.h"
#include "test2.cpp"
この3つをチェックしてみて,駄目ならもう少し具体的な情報が欲しいかもしれません.
|
Re: include先でのDXライブラリの使用 ( No.4 ) |
- 名前:通 日時:2008/02/15 06:04
外部参照について少し勉強しましょう。
cppファイルをincludeするのは良い手法では
ありません。
今回の場合、VCなどの統合環境であれば単に
test2.cpp内部で"DxLib.h"をインクルードすれば
"test2.cpp"をインクルードするまでも無く、
コンパイルは通ると思います。(未確認ですが。。)
関数呼び出しになってないですが、
TestLoad;というのは単純に書きかけ??
別件ですがTestLoad関数の引数はint型ですが、
引数で戻り値を受け取る場合はint*型にする必要が
あります。
|
Re: include先でのDXライブラリの使用 ( No.5 ) |
- 名前:XM3 日時:2008/02/15 17:26
test2.cpp内でもDxLib.hをインクルードしたところ上手くいきました!
あとTestLoadで値の受け渡しが無いのは書き忘れでした、、スミマセンw
また何か分からなくなったらお聞きするかもしれませんが、その時はまたよろしくお願いします
ありがとうございました!
|