コンパイル時のエラー

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

コンパイル時のエラー

#1

投稿記事 by 釣り師 » 15年前

最近時間ができたので、再びプログラミング勉強を再開しました。

そして、コンパイルしようとすると、
1> : fatal error C1033: プログラム データベース '' を開けません。
というエラーが出てきて先へ進めません。
龍神録のデータを持ってきてコンパイルしてみたのですが、その場合もエラーが出て動きません。
解決策、原因、知っている方はいらっしゃいませんか?

環境は
Win7 32bit
VisualC++ 2008及び 2010
です。
どっちでやってもこのエラーが出てしまいます。

box

Re:コンパイル時のエラー

#2

投稿記事 by box » 15年前

> そして、コンパイルしようとすると、
> 1> : fatal error C1033: プログラム データベース '' を開けません。
> というエラーが出てきて先へ進めません。

どんなソースコードをコンパイルしようとしたときですか?

> 龍神録のデータを持ってきてコンパイルしてみたのですが、その場合もエラーが出て動きません。

上のと同じエラーですか?

釣り師

Re:コンパイル時のエラー

#3

投稿記事 by 釣り師 » 15年前

ええ。すべて同じエラーです。

ソースコードは
#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( DxLib_Init() == -1 ) return -1;



WaitKey() ;
DxLib_End() ;
return 0 ;
}


一番最初に使う、ソースコードです。

naohiro19

Re:コンパイル時のエラー

#4

投稿記事 by naohiro19 » 15年前

「C/C++のトラブル集」に載っていますね。
http://bit.ly/bQbJHG

-- 追記
URLを貼り付けると長くなるので短縮URLを利用しました


釣り師

Re:コンパイル時のエラー

#6

投稿記事 by 釣り師 » 15年前

naohiro19さん
toyoさん。
URLありがとうございます。今後の参考にさせていただきます。

今、とりあえず何もせずにコンパイルしてみたら、なぜかとおりました。
原因は結局不明のままですが、解決とさせていただきます。
ありがとうございました。



追記、
何故か再びエラーが出るようになってしまいました 画像

釣り師

Re:コンパイル時のエラー

#7

投稿記事 by 釣り師 » 15年前

VC++の2008、2010のうち、2010の方をアンインストールしたのですが、やはりダメです。
互換モードの変更なども試しましたが、やはり‥。

シエル

Re:コンパイル時のエラー

#8

投稿記事 by シエル » 15年前

プロジェクトごと作り直してもだめなのですか?

釣り師

Re:コンパイル時のエラー

#9

投稿記事 by 釣り師 » 15年前

ええ。
それも試したのですが、やはりダメです。

釣り師

Re:コンパイル時のエラー

#10

投稿記事 by 釣り師 » 15年前

こんな感じになるんですよ。
ok.cppは適当に考えてつけた名前なんで、気にしないでください

シエル

Re:コンパイル時のエラー

#11

投稿記事 by シエル » 15年前

これって、普通のコンソールアプリケーションでもなるんですか?

あまり見ないエラーなので、ネットにもあまり情報がないようです。

釣り師

Re:コンパイル時のエラー

#12

投稿記事 by 釣り師 » 15年前

プロジェクト自体が、Win32コンソールアプリケーションですので。
動かないようですね。

ネット上の情報もひと通り試したのですが、効果なしでした。

Justy

Re:コンパイル時のエラー

#13

投稿記事 by Justy » 15年前

 Visual Studioの互換モードは変えてみましたか?

釣り師

Re:コンパイル時のエラー

#14

投稿記事 by 釣り師 » 15年前

ええ。上記のとおり、互換モードもいじくってみました。
しかし、ダメなようです

シエル

Re:コンパイル時のエラー

#15

投稿記事 by シエル » 15年前

DXライブラリ使ってるのに、コンソールアプリケーションで作ってるんですか?
win32プロジェクトで作るとどうなりますか?

釣り師

Re:コンパイル時のエラー

#16

投稿記事 by 釣り師 » 15年前

特に気にせず使用してきました。
変ですかね?

いまやってみましたが、やはり無理でした。
同じエラーが出てしまいます。

fatens

Re:コンパイル時のエラー

#17

投稿記事 by fatens » 15年前

>特に気にせず使用してきました。
>変ですかね?

DXライブラリを使用するにはWin32プロジェクトにしないとダメです。


なかなか解決しないようですが、VC++ 2008の再インストールは試されましたか?

釣り師

Re:コンパイル時のエラー

#18

投稿記事 by 釣り師 » 15年前

>なかなか解決しないようですが、VC++ 2008の再インストールは試されましたか?

ええ、やってみました。
VC++2010でも同様のエラーで、同様に再インストールしました。いまは、2010の方はアンインストールしましたが、依然として2008はエラーが起こる状態です。

シエル

Re:コンパイル時のエラー

#19

投稿記事 by シエル » 15年前

何か他の常駐ソフトが影響してるんですかねぇ。

ためしにウイルスソフトを止めてみて治ったりしないですかね?

釣り師

Re:コンパイル時のエラー

#20

投稿記事 by 釣り師 » 15年前

なんだかよくわかりませんが、例のエラーは消えました。
そのかわり…

1>------ ビルド開始: プロジェクト: ko, 構成: Debug Win32 ------
1>コンパイルしています...
1>ko.cpp
1>マニフェストをリソースにコンパイルしています...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>リンクしています...
1>LIBCMTD.lib(wincrt0.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。
1>C:\Users\\Documents\Visual Studio 2008\Projects\ko\Debug\ko.exe : fatal error LNK1120: 外部参照 1 が未解決です。
1>ビルドログは "file://c:\Users\\Documents\Visual Studio 2008\Projects\ko\Debug\BuildLog.htm" に保存されました。
1>ko - エラー 2、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========


こんなエラーになってしまいました…

シエル

Re:コンパイル時のエラー

#21

投稿記事 by シエル » 15年前

今はwin32プロジェクトで作ってるんですか?

あと、今の状態になった経緯がわからないんですが、

ウイルスソフトを止めたら、そのエラーになったんですか?
それとも何もせずに、コンパイルしたらそのエラーが出たんですか?

釣り師

Re:コンパイル時のエラー

#22

投稿記事 by 釣り師 » 15年前

とりあえず、 苦しんで覚えるC言語 というサイトで公開されているコンパイラが干渉みたいなことをしているのではと思いアンインストールしました。
そしたらこのエラーです。

ウイルスソフトの方は止めていません

シエル

Re:コンパイル時のエラー

#23

投稿記事 by シエル » 15年前

とりあえずwin32プロジェクトで作ってみて下さい。

釣り師

Re:コンパイル時のエラー

#24

投稿記事 by 釣り師 » 15年前

win32プロジェクトのコンソールアプリケーションで作成してみました。

int main();
とだけ書いて実行したときには
1>------ ビルド開始: プロジェクト: okok, 構成: Debug Win32 ------
1>リンクしています...
1>LIBCMTD.lib(crt0.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
1>C:\Users\\Documents\Visual Studio 2008\Projects\okok\Debug\okok.exe : fatal error LNK1120: 外部参照 1 が未解決です。
1>ビルドログは "file://c:\Users\\Documents\Visual Studio 2008\Projects\okok\Debug\BuildLog.htm" に保存されました。
1>okok - エラー 2、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
というエラーが、


#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了


LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ;


WaitKey() ; // 結果を見るためにキー待ち(『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
と書いた場合は、なにやら長いエラーが。(添付画像に描かれているので、ご参照ください。)
ぐぐってみましたが、いまいちよくわかりませんでした。


追記

すみません。LoadGraphScreenをいれていたのが、長いエラーの原因だったようです。気にしないでください。
LoadGraphScreenを消した場合は、 今までどおりのC1033のエラーです。 画像

fatens

Re:コンパイル時のエラー

#25

投稿記事 by fatens » 15年前

>win32プロジェクトのコンソールアプリケーションで作成してみました。

再度書きますが、
DXライブラリを使用するにはWin32 プロジェクトにしないとダメです。

釣り師

Re:コンパイル時のエラー

#26

投稿記事 by 釣り師 » 15年前

>再度書きますが、
>DXライブラリを使用するにはWin32 プロジェクトにしないとダメです。

なんだか、勘違いしていたようです。

DXライブラリのサイトの使い方に沿ってもう一度やり直してみましたが、
> : fatal error C1033: プログラム データベース '' を開けません。
やはりこのエラーがでたままです。
他のエラーは無くなりました。

五反田

Re:コンパイル時のエラー

#27

投稿記事 by 五反田 » 15年前

こんばんは。

見当はずれのことを言っているかもしれませんが、2つ提案?が。

・プロジェクトを置く場所を出来るだけ浅い階層にするとどうなりますか?(出来ればドライブ直下で)
その際、フォルダの名前がアルファベットだけで構成されるようにしてみてください。

・もう一つは、ディスクチェックをかけてみてください。
Microsoftのページを見ると、disk error と書かれていたので、どこか調子が悪いのではないかと思いました。

よければ試してみてください。
最初のほうで貼られたURLに似たようなことが書いてあるみたいです。

釣り師

Re:コンパイル時のエラー

#28

投稿記事 by 釣り師 » 15年前

五反田さん

返事が遅れてしまい申し訳ありません。

ディスクチェックをしたところ、無事にコンパイルできるようになりました!(ディスクチェックになぜか4時間もかかりましたが^^;)

解決とさせていただきます。有難うございました。

五反田

Re:コンパイル時のエラー

#29

投稿記事 by 五反田 » 15年前

出来るようになってよかったですね。
あと、解決マーク忘れてますよ~。

釣り師

Re:コンパイル時のエラー

#30

投稿記事 by 釣り師 » 15年前

すみません!
すっかり忘れていました。

スモモ

DX のテクスチャ処理について

#31

投稿記事 by スモモ » 15年前

お世話になっています。

CreateTextureでのテクスチャができました。

テクスチャの内容を書き換えたいですが、どうすればいいでしょうか?

ご教授の程、よろしくお願いします。

スモモ

Re:DX のテクスチャ処理について

#32

投稿記事 by スモモ » 15年前

補助説明

作ったテクスチャをオフスクリーンとして扱いたいです。

ご教授の程、よろしくお願いします。

シエル

Re:DX のテクスチャ処理について

#33

投稿記事 by シエル » 15年前

テクスチャの内容を書き換えるにはD3DUSAGE_DYNAMIC及びD3DPOOL_DEFAULTでテクスチャを作成する必要があります。

あとはLockRectメソッドでロックしたら、自由に書き換えて下さい。

http://marupeke296.com/DXG_Font.htmlを参照すればわかりやすいかと。

スモモ

Re:DX のテクスチャ処理について

#34

投稿記事 by スモモ » 15年前

ご回答ありがとうございます。

もし、書き換えの部分を LPD3DXSPRITE の Draw みたいに扱いたいならどうすればいいでしょうか?

ご教授の程、よろしくお願いします。

シエル

Re:DX のテクスチャ処理について

#35

投稿記事 by シエル » 15年前

書き換えたテクスチャをそのまま、Drawメソッドで使えばいいと思いますが。

DrawPrimitive等でやる場合もその書き換えたテクスチャをSetTextureでセットして
描画するだけです。

lriki

Re:DX のテクスチャ処理について

#36

投稿記事 by lriki » 15年前

はじめまして。
読んでいて気になるところがあったのでちょっとだけ補足です。

普通の(動的でない)テクスチャを作って LockRect でロックする場合、USAGE は 0、POOL は D3DPOOL_MANAGED でOKです。

質問には直接関係ないですけど、「D3DPOOL_DEFAULT かー… 管理めんどくさいなー」って思われたなら D3DPOOL_MANAGED で作ってみるのがいいと思います。

シエル

Re:DX のテクスチャ処理について

#37

投稿記事 by シエル » 15年前

>>りゅんさん

補足ありがとうございます^^
動的テクスチャでもD3DPOOL_MANAGEDを指定して大丈夫なんですか?

lriki

Re:DX のテクスチャ処理について

#38

投稿記事 by lriki » 15年前

http://msdn.microsoft.com/ja-jp/library/cc324365.aspx
にも「D3DUSAGE_DYNAMIC と D3DPOOL_MANAGED は互換性がないので、同時には使えない」って書いてあるので無理っぽいです。

実際にそれでテクスチャ作ってみたら、CreateTexture がエラーを返しました。

シエル

Re:DX のテクスチャ処理について

#39

投稿記事 by シエル » 15年前

>>りゅんさん。
やっぱり無理ですよね。調査ありがとうございました^^

スモモ

Re:DX のテクスチャ処理について

#40

投稿記事 by スモモ » 15年前

皆様、ありがとうございます。

奇想天外ですが、こんなコード思いつきました。

LPDIRECT3DTEXTURE9 pTexture;
pDevice->CreateTexture (100,100,1,D3DUSAGE_RENDERTARGET,D3DFMT_A8R8G8B8,D3DPOOL_DEFAULT,&pTexture,NULL);
LPDIRECT3DDEVICE9 pDevice;
pTexture->GetDevice(&pDevice);
pDevice->SetRenderState(D3DRS_ZENABLE,D3DZB_TRUE);
pDevice->SetRenderState(D3DRS_ZWRITEENABLE,TRUE);
pDevice->SetRenderState(D3DRS_CULLMODE,D3DCULL_CCW);
pDevice->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(255,0,0),1.0,0);
pDevice->BeginScene();
pDevice->EndScene();
pDevice->Present(NULL,NULL,NULL,NULL);

エラーがないですが、うまくいかない。(テクスチャの内容を書き換えてないみたい)

ご教授の程、よろしくお願いします。

シエル

Re:DX のテクスチャ処理について

#41

投稿記事 by シエル » 15年前

すいません。結局何がしたいのでしょうか?

テクスチャをレンダリングターゲットにしたいのですか?
それならまず、テクスチャのサーフェイスを取得したあと、
SetRenderTargetでそのサーフェイスを指定しなければなりません。

レンダリングターゲットに設定した後は、通常通り描画するだけでテクスチャに描画されます。
当然ですが最終的には元のバックバッファに描画することになると思いますので、
あらかじめ、バックバッファのサーフェイスを取得しておかなければなりません。

提示していただいたコードでは、ただテクスチャを作って、ただバックバッファをクリアして、
何も描画せずに終了しているだけです。

何がしたいのかまったく見えないので、誰にでも分かるように具体的に説明して下さい。

よろしくお願い致します。

スモモ

Re:DX のテクスチャ処理について

#42

投稿記事 by スモモ » 15年前

説明不足ですいません

私がやりたいのは動的テクスチャを作って、

それでそのテクスチャをいろいろなところで描画したいです。

うしお

Re:DX のテクスチャ処理について

#43

投稿記事 by うしお » 15年前

動的テクスチャを作って、
それでそのテクスチャをいろいろなところで描画、
というのをもう少し具体的にいうとどのようなことでしょうか?
もうちょっと情報が必要だと思います

シエル

Re:DX のテクスチャ処理について

#44

投稿記事 by シエル » 15年前

もっと具体的に説明していただかないと、アドバイスできません。

スモモ

Re:DX のテクスチャ処理について

#45

投稿記事 by スモモ » 15年前

実は動的テクスチャを作るクラス制作中です。

できたテクスチャを3Dモデルに張ったり

(たとえば、花瓶やガラスなどのひび割れ、壁の張り紙やポスター、布や紙などのしわなど)、

文字のウインドを表示したりしたいです。

一度作ったテクスチャは何度でもつかいたいです。

半透明や透過や変色なども実現したいです。

ご教授の程、よろしくお願いします。

うしお

Re:DX のテクスチャ処理について

#46

投稿記事 by うしお » 15年前

やろうとなさっていることが、
ちょっと多くの要素を含んでいるので、一つ一つ分割して挑戦してみてはいかがでしょうか?

このサイトが参考になると思います まるぺけつくろー様です
http://marupeke296.com/DirectXMain.html

>花瓶やガラスなどのひび割れ、壁の張り紙やポスター
 →おそらく出来たテクスチャを2枚重ねと言う意味でしょうか
  でしたら、マルチパスレンダリング
  マルチパス テクスチャー ブレンディングあたりでしょうか
>文字のウインドを表示したり
 →こちらはID3DXFontを使わず高速に描画したいということでしょうか?
  紹介したサイトのその5あたりのトピックでしょうか  
>半透明や透過や変色→アルファブレンド 線形合成 加算合成 減算合成 乗算合成

directxはちょっとしたことに思えても、
たくさんのプロセスが必要な場合が多いと思います
やりたいことを分割して、一つ一つ手の届くところから挑戦していってはいかがでしょうか?

まずはアルファブレンドで2枚のテクスチャを重ねるところあたりが簡単かなと思います

シエル

Re:DX のテクスチャ処理について

#47

投稿記事 by シエル » 15年前

動的テクスチャを作りたいって言ってるのは、
ただ画像を読み込んでテクスチャを作りたいってことですか?

それともCreateTextureで作って、自分でデータを書き込んでテクスチャを作りたいってことですか?

まあどちらにしても、うしおさんが貼ってくださっているサイトを参考に順番に一から勉強して
いってください。

前にもスモモさんにはそのサイトを教えたはずなので、ずっとそこで勉強されているものだと
思ってましたが、もしそのサイトだけで理解が出来ないのであれば、
参考書等を購入することをお勧めします。

以上。 画像

スモモ

Re:DX のテクスチャ処理について

#48

投稿記事 by スモモ » 15年前

皆様、ありがとうございます。

勉強させていただきます。

シエルさん

私のことを気にかけていただいてありがとうございます。

スモモ

Re:DX のテクスチャ処理について

#49

投稿記事 by スモモ » 15年前

しばらく、勉強させていただきます。

 〆マス

閉鎖

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