directXについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

directXについて

#1

投稿記事 by null.XxqpxX » 4年前

VisualStudio2013でdirectXを入れたはずなのにエラー
directXをC直下においてファイルパス指定しても動いてくれないので、詳しい人教えてください・・・
このコードの宣言のWINAPIでエラーが出ます。

コード:

#include "DxLib.h"

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	int ModelHandle;
	ChangeWindowMode(true);

	// DXライブラリの初期化
	if (DxLib_Init() < 0)
	{
		// エラーが発生したら直ちに終了
		return -1;
	}

	// 3Dモデルの読み込み
	ModelHandle = MV1LoadModel("res\\mobs\\baster.x");

	// 画面に映る位置に3Dモデルを移動
	MV1SetPosition(ModelHandle, VGet(320.0f, -300.0f, 600.0f));

	// 3Dモデルの描画
	MV1DrawModel(ModelHandle);

	// キーの入力待ち
	WaitKey();

	// DXライブラリの後始末
	DxLib_End();

	// ソフトの終了
	return 0;
}

アバター
プラム
記事: 164
登録日時: 5年前
住所: 東海地方

Re: directXについて

#2

投稿記事 by プラム » 4年前

うんとですね、DirectXではなくDxLibの間違いだと思います、まず、DxLibが読み込めていない場合は、コンパイルエラーが出るので、そのエラーの内容を見てないのでわかりませんが、たぶん読み込めてないんだと思います、ファイル指定のところを確認してみてください、あと、モデルの読み込み方の問題ですね、「¥¥」ではなく「/」にするとたぶん行けると思います、そこは、ModelHandleの値を調べてみれば、読み込めているかわかりますし、デバックでも、わかるので、VC++は便利なので、デバック機能を使ってみましょう

アバター
みけCAT
記事: 6149
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: directXについて

#3

投稿記事 by みけCAT » 4年前

ハルルン さんが書きました:うんとですね、DirectXではなくDxLibの間違いだと思います
そうですね。
ハルルン さんが書きました:まず、DxLibが読み込めていない場合は、コンパイルエラーが出るので、モデルの読み込み方の問題ですね、「¥¥」ではなく「/」にするとたぶん行けると思います
コンパイルエラーが出るのならばモデル以前の問題なので、たぶん行けないと思います。まず具体的なエラーメッセージを教えてください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
namachan10777
記事: 32
登録日時: 4年前
住所: 四国
連絡を取る:

Re: directXについて

#4

投稿記事 by namachan10777 » 4年前

エラーとはいったい何のことでしょうか?
コンパイルエラー、リンカエラー、アクセス違反、例外、DXライブラリ内のエラー、いろいろなものがありますがどれでしょうか。
パッと見た感じだと

コード:

  
    // 3Dモデルの読み込み
    ModelHandle = MV1LoadModel("res\\mobs\\baster.x");
がおかしい気がします。
DXライブラリはパスを区切るセパレータが\ではなく/だった気がします
3Dは使ったことが無いので確実にそうだとは言えませんが、\\を/に直してみてください
あと、directXとは何でしょう?DXライブラリに見えるのですが
D言語!D言語!

アバター
プラム
記事: 164
登録日時: 5年前
住所: 東海地方

Re: directXについて

#5

投稿記事 by プラム » 4年前

ごめんなさい、不足があり、間違えて送信してしまったので編集しました「DxLibが読み込めていない場合は、コンパイルエラーが出るので、そのエラーの内容を見てないのでわかりませんが、たぶん読み込めてないんだと思います」←ココ
具体的なエラーメッセージと言われましても、コンパイルエラー時に出るメッセージをコピペしてみてくださいと言うしかないですよね

アバター
みけCAT
記事: 6149
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: directXについて

#6

投稿記事 by みけCAT » 4年前

ハルルン さんが書きました:あと、モデルの読み込み方の問題ですね、「¥¥」ではなく「/」にするとたぶん行けると思います
・元の質問でモデルの読み込み方については全く言及されていません。
・確かに「¥¥」(U+00A5)や、この文で書かれている「¥¥」(全角)ではいけませんが、元のコードで使用されている「\\」(U+005C)なら問題ないはずです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
プラム
記事: 164
登録日時: 5年前
住所: 東海地方

Re: directXについて

#7

投稿記事 by プラム » 4年前

みけCAT さんが書きました: ハルルン さんが書きました:
あと、モデルの読み込み方の問題ですね、「¥¥」ではなく「/」にするとたぶん行けると思います


・元の質問でモデルの読み込み方については全く言及されていません。
・確かに「¥¥」(U+00A5)や、この文で書かれている「¥¥」(全角)ではいけませんが、元のコードで使用されている「\\」(U+005C)なら問題ないはずです。
DxLibの場合それだと出来ない気がします
最後に編集したユーザー プラム on 2015年6月07日(日) 20:50 [ 編集 1 回目 ]

アバター
みけCAT
記事: 6149
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: directXについて

#8

投稿記事 by みけCAT » 4年前

namachan10777 さんが書きました:パッと見た感じだと

コード:

  
    // 3Dモデルの読み込み
    ModelHandle = MV1LoadModel("res\\mobs\\baster.x");
がおかしい気がします。
質問文に「このコードの宣言のWINAPIでエラーが出ます。」とはっきり書いてあります。
MV1LoadModelはWINAPIではありません。
オフトピック
確かにWINAPI以外でエラーが出ないとは書いてないけどさ…
namachan10777 さんが書きました:DXライブラリはパスを区切るセパレータが\ではなく/だった気がします
3Dは使ったことが無いので確実にそうだとは言えませんが、\\を/に直してみてください
DxLibにてXファイルを読み込む....のコードで\\が使用されており、問題なく読み込めたので、意味はあまり無いと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
プラム
記事: 164
登録日時: 5年前
住所: 東海地方

Re: directXについて

#9

投稿記事 by プラム » 4年前

もうその//関連の話やめましょうか

アバター
みけCAT
記事: 6149
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: directXについて

#10

投稿記事 by みけCAT » 4年前

ハルルン さんが書きました:
みけCAT さんが書きました: ハルルン さんが書きました:
あと、モデルの読み込み方の問題ですね、「¥¥」ではなく「/」にするとたぶん行けると思います


・元の質問でモデルの読み込み方については全く言及されていません。
・確かに「¥¥」(U+00A5)や、この文で書かれている「¥¥」(全角)ではいけませんが、元のコードで使用されている「\\」(U+005C)なら問題ないはずです。[​/quote]
DxLibの場合それだと出来ない気がします
気のせいでしょう。
\\が使用されているDxLibにてXファイルを読み込む....のコードで読み込みに成功しています。
さらに、データをアーカイブにしても\\のままでちゃんと読み込むことができました。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
プラム
記事: 164
登録日時: 5年前
住所: 東海地方

Re: directXについて

#11

投稿記事 by プラム » 4年前

まあとりあえずDxLibがリンカーか何か正しく読み込めてない以外これ無いでしょ、というかエラー内容わかんないですし

アバター
namachan10777
記事: 32
登録日時: 4年前
住所: 四国
連絡を取る:

Re: directXについて

#12

投稿記事 by namachan10777 » 4年前

申し訳ありません。訂正です\\でもデータは読み込めます
D言語!D言語!

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#13

投稿記事 by null.XxqpxX » 4年前

すいません、エラー内容なのですが、ソースファイルを上手く開けていない感じです。

Ryo

Re: directXについて

#14

投稿記事 by Ryo » 4年前

『感じです』という感覚的な情報よりも、
表示されるエラーの内容をコピー&ペーストしてはったほうがいいです

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#15

投稿記事 by null.XxqpxX » 4年前

エラーの内容はこれです。

エラー 1 error C2146: 構文エラー : ';' が、識別子 'WinMain' の前に必要です。

エラー 2 error C2065: 'HINSTANCE' : 定義されていない識別子です。
エラー 3 error C2146: 構文エラー : ')' が、識別子 'hInstance' の前に必要です。
エラー 4 error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません

エラー 5 error C2059: 構文エラー : ')'

エラー 6 error C2143: 構文エラー : ';' が '{' の前にありません。2013\projects\gameprog\gameprog\test.cpp 4 1 GameProg

エラー 7 error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)

8 IntelliSense: ';' が必要です

9 IntelliSense: 明示的な型がありません ('int' が想定されます)
10 IntelliSense: 宣言が必要です

11 IntelliSense: 宣言が必要です

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#16

投稿記事 by null.XxqpxX » 4年前

>>14
すいません、いま貼りました。

アバター
みけCAT
記事: 6149
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: directXについて

#17

投稿記事 by みけCAT » 4年前

何らかの原因でwindows.hが取り込まれていない感じですが…どうしてでしょう…?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#18

投稿記事 by null.XxqpxX » 4年前

>>17
どうやればいいのでしょうか・・・

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#19

投稿記事 by null.XxqpxX » 4年前

とりあえず最初からやってみます

たいちう
記事: 418
登録日時: 8年前

Re: directXについて

#20

投稿記事 by たいちう » 4年前

> >>17
> どうやればいいのでしょうか・・・

先頭に #include <windows.h> を追加するとどうなりますか?

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#21

投稿記事 by null.XxqpxX » 4年前

>>20
先頭に #include <windows.h> を追加するとどうなりますか?

インクルードのところにエラーです

たいちう
記事: 418
登録日時: 8年前

Re: directXについて

#22

投稿記事 by たいちう » 4年前

No.14で指摘されているように、どんなエラーか正確に書かないと。
No.15のエラーは、windows.hがインクルードされていないから発生しています。
プロジェクトを新しく作って、下のコードをビルドすることはできますか?

コード:

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    return 0;
}

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#23

投稿記事 by null.XxqpxX » 4年前

>>22
windows.hが開けませんってなります、、、

アバター
プラム
記事: 164
登録日時: 5年前
住所: 東海地方

Re: directXについて

#24

投稿記事 by プラム » 4年前

それ以前に
エラー 1 error C2146: 構文エラー : ';' が、識別子 'WinMain' の前に必要です。
エラー 2 error C2065: 'HINSTANCE' : 定義されていない識別子です。               ←これはHINSTANCEという値が定義されていないということです。

エラー 3 error C2146: 構文エラー : ')' が、識別子 'hInstance' の前に必要です。
エラー 4 error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
エラー 5 error C2059: 構文エラー : ')'
エラー 6 error C2143: 構文エラー : ';' が '{' の前にありません。2013\projects\gameprog\gameprog\test.cpp 4 1 GameProg
8 IntelliSense: ';' が必要です
↑これは「;」や、「,」がないという意味なので、定義文の後に「;」などを書き忘れていませんか?

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#25

投稿記事 by null.XxqpxX » 4年前

>>24
問題ありません。
逆に追加する場所がないです。。。

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#26

投稿記事 by null.XxqpxX » 4年前

もしかしてこれってDxLibの中身のやつとプロジェクトのやつ同じファイルパスに入れないと動かないとかそんな感じかな。。。。

null.XxqpxX
記事: 16
登録日時: 4年前
住所: 銀河系のどこか

Re: directXについて

#27

投稿記事 by null.XxqpxX » 4年前

Windows.hは何回やっても開けなかったです。。。

Aozora0630
記事: 85
登録日時: 4年前
住所: 日本
連絡を取る:

Re: directXについて

#28

投稿記事 by Aozora0630 » 4年前

null.XxqpxX さんが書きました:もしかしてこれってDxLibの中身のやつとプロジェクトのやつ同じファイルパスに入れないと動かないとかそんな感じかな。。。。
え、入れてないんですか?
DxLibはプロジェクトのカレントディレクトリに入れないといけません。
他のディレクトリに入れるには少し設定を弄らないといけないので・・・・。
オフトピック
最初のコードって私の奴じゃない?
Podcastゆっくりボイス使用)
サイト

Aozora0630
記事: 85
登録日時: 4年前
住所: 日本
連絡を取る:

Re: directXについて

#29

投稿記事 by Aozora0630 » 4年前

っていうか、VCはあまり知りませんが、カレントディレクトリに無いのに
#include "DxLib.h"でエラーが出ずに呼び出せるんですか・・・・。
オフトピック
私は/で大丈夫と知ってても\\を使ってしまうんだよなー。
終わった話題を掘り返してすみません。
Podcastゆっくりボイス使用)
サイト

アバター
みけCAT
記事: 6149
登録日時: 8年前
住所: 千葉県
連絡を取る:

Re: directXについて

#30

投稿記事 by みけCAT » 4年前

公式のDXライブラリのセットアップ方法です。
http://homepage2.nifty.com/natupaji/DxL ... press.html
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

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