コンパイル時のエラー
コンパイル時のエラー
最近時間ができたので、再びプログラミング勉強を再開しました。
そして、コンパイルしようとすると、
1> : fatal error C1033: プログラム データベース '' を開けません。
というエラーが出てきて先へ進めません。
龍神録のデータを持ってきてコンパイルしてみたのですが、その場合もエラーが出て動きません。
解決策、原因、知っている方はいらっしゃいませんか?
環境は
Win7 32bit
VisualC++ 2008及び 2010
です。
どっちでやってもこのエラーが出てしまいます。
そして、コンパイルしようとすると、
1> : fatal error C1033: プログラム データベース '' を開けません。
というエラーが出てきて先へ進めません。
龍神録のデータを持ってきてコンパイルしてみたのですが、その場合もエラーが出て動きません。
解決策、原因、知っている方はいらっしゃいませんか?
環境は
Win7 32bit
VisualC++ 2008及び 2010
です。
どっちでやってもこのエラーが出てしまいます。
Re:コンパイル時のエラー
> そして、コンパイルしようとすると、
> 1> : fatal error C1033: プログラム データベース '' を開けません。
> というエラーが出てきて先へ進めません。
どんなソースコードをコンパイルしようとしたときですか?
> 龍神録のデータを持ってきてコンパイルしてみたのですが、その場合もエラーが出て動きません。
上のと同じエラーですか?
> 1> : fatal error C1033: プログラム データベース '' を開けません。
> というエラーが出てきて先へ進めません。
どんなソースコードをコンパイルしようとしたときですか?
> 龍神録のデータを持ってきてコンパイルしてみたのですが、その場合もエラーが出て動きません。
上のと同じエラーですか?
Re:コンパイル時のエラー
ええ。すべて同じエラーです。
ソースコードは
#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 ;
}
一番最初に使う、ソースコードです。
ソースコードは
#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 ;
}
一番最初に使う、ソースコードです。
Re:コンパイル時のエラー
naohiro19さん
toyoさん。
URLありがとうございます。今後の参考にさせていただきます。
今、とりあえず何もせずにコンパイルしてみたら、なぜかとおりました。
原因は結局不明のままですが、解決とさせていただきます。
ありがとうございました。
追記、
何故か再びエラーが出るようになってしまいました
toyoさん。
URLありがとうございます。今後の参考にさせていただきます。
今、とりあえず何もせずにコンパイルしてみたら、なぜかとおりました。
原因は結局不明のままですが、解決とさせていただきます。
ありがとうございました。
追記、
何故か再びエラーが出るようになってしまいました

Re:コンパイル時のエラー
>特に気にせず使用してきました。
>変ですかね?
DXライブラリを使用するにはWin32プロジェクトにしないとダメです。
なかなか解決しないようですが、VC++ 2008の再インストールは試されましたか?
>変ですかね?
DXライブラリを使用するにはWin32プロジェクトにしないとダメです。
なかなか解決しないようですが、VC++ 2008の再インストールは試されましたか?
Re:コンパイル時のエラー
>なかなか解決しないようですが、VC++ 2008の再インストールは試されましたか?
ええ、やってみました。
VC++2010でも同様のエラーで、同様に再インストールしました。いまは、2010の方はアンインストールしましたが、依然として2008はエラーが起こる状態です。
ええ、やってみました。
VC++2010でも同様のエラーで、同様に再インストールしました。いまは、2010の方はアンインストールしましたが、依然として2008はエラーが起こる状態です。
Re:コンパイル時のエラー
なんだかよくわかりませんが、例のエラーは消えました。
そのかわり…
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 スキップ ==========
こんなエラーになってしまいました…
そのかわり…
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:コンパイル時のエラー
今はwin32プロジェクトで作ってるんですか?
あと、今の状態になった経緯がわからないんですが、
ウイルスソフトを止めたら、そのエラーになったんですか?
それとも何もせずに、コンパイルしたらそのエラーが出たんですか?
あと、今の状態になった経緯がわからないんですが、
ウイルスソフトを止めたら、そのエラーになったんですか?
それとも何もせずに、コンパイルしたらそのエラーが出たんですか?
Re:コンパイル時のエラー
とりあえず、 苦しんで覚えるC言語 というサイトで公開されているコンパイラが干渉みたいなことをしているのではと思いアンインストールしました。
そしたらこのエラーです。
ウイルスソフトの方は止めていません
そしたらこのエラーです。
ウイルスソフトの方は止めていません
Re:コンパイル時のエラー
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のエラーです。
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のエラーです。

Re:コンパイル時のエラー
>win32プロジェクトのコンソールアプリケーションで作成してみました。
再度書きますが、
DXライブラリを使用するにはWin32 プロジェクトにしないとダメです。
再度書きますが、
DXライブラリを使用するにはWin32 プロジェクトにしないとダメです。
Re:コンパイル時のエラー
>再度書きますが、
>DXライブラリを使用するにはWin32 プロジェクトにしないとダメです。
なんだか、勘違いしていたようです。
DXライブラリのサイトの使い方に沿ってもう一度やり直してみましたが、
> : fatal error C1033: プログラム データベース '' を開けません。
やはりこのエラーがでたままです。
他のエラーは無くなりました。
>DXライブラリを使用するにはWin32 プロジェクトにしないとダメです。
なんだか、勘違いしていたようです。
DXライブラリのサイトの使い方に沿ってもう一度やり直してみましたが、
> : fatal error C1033: プログラム データベース '' を開けません。
やはりこのエラーがでたままです。
他のエラーは無くなりました。
Re:コンパイル時のエラー
こんばんは。
見当はずれのことを言っているかもしれませんが、2つ提案?が。
・プロジェクトを置く場所を出来るだけ浅い階層にするとどうなりますか?(出来ればドライブ直下で)
その際、フォルダの名前がアルファベットだけで構成されるようにしてみてください。
・もう一つは、ディスクチェックをかけてみてください。
Microsoftのページを見ると、disk error と書かれていたので、どこか調子が悪いのではないかと思いました。
よければ試してみてください。
最初のほうで貼られたURLに似たようなことが書いてあるみたいです。
見当はずれのことを言っているかもしれませんが、2つ提案?が。
・プロジェクトを置く場所を出来るだけ浅い階層にするとどうなりますか?(出来ればドライブ直下で)
その際、フォルダの名前がアルファベットだけで構成されるようにしてみてください。
・もう一つは、ディスクチェックをかけてみてください。
Microsoftのページを見ると、disk error と書かれていたので、どこか調子が悪いのではないかと思いました。
よければ試してみてください。
最初のほうで貼られたURLに似たようなことが書いてあるみたいです。
Re:コンパイル時のエラー
五反田さん
返事が遅れてしまい申し訳ありません。
ディスクチェックをしたところ、無事にコンパイルできるようになりました!(ディスクチェックになぜか4時間もかかりましたが^^;)
解決とさせていただきます。有難うございました。
返事が遅れてしまい申し訳ありません。
ディスクチェックをしたところ、無事にコンパイルできるようになりました!(ディスクチェックになぜか4時間もかかりましたが^^;)
解決とさせていただきます。有難うございました。
DX のテクスチャ処理について
お世話になっています。
CreateTextureでのテクスチャができました。
テクスチャの内容を書き換えたいですが、どうすればいいでしょうか?
ご教授の程、よろしくお願いします。
CreateTextureでのテクスチャができました。
テクスチャの内容を書き換えたいですが、どうすればいいでしょうか?
ご教授の程、よろしくお願いします。
Re:DX のテクスチャ処理について
テクスチャの内容を書き換えるにはD3DUSAGE_DYNAMIC及びD3DPOOL_DEFAULTでテクスチャを作成する必要があります。
あとはLockRectメソッドでロックしたら、自由に書き換えて下さい。
http://marupeke296.com/DXG_Font.htmlを参照すればわかりやすいかと。
あとはLockRectメソッドでロックしたら、自由に書き換えて下さい。
http://marupeke296.com/DXG_Font.htmlを参照すればわかりやすいかと。
Re:DX のテクスチャ処理について
ご回答ありがとうございます。
もし、書き換えの部分を LPD3DXSPRITE の Draw みたいに扱いたいならどうすればいいでしょうか?
ご教授の程、よろしくお願いします。
もし、書き換えの部分を LPD3DXSPRITE の Draw みたいに扱いたいならどうすればいいでしょうか?
ご教授の程、よろしくお願いします。
Re:DX のテクスチャ処理について
書き換えたテクスチャをそのまま、Drawメソッドで使えばいいと思いますが。
DrawPrimitive等でやる場合もその書き換えたテクスチャをSetTextureでセットして
描画するだけです。
DrawPrimitive等でやる場合もその書き換えたテクスチャをSetTextureでセットして
描画するだけです。
Re:DX のテクスチャ処理について
はじめまして。
読んでいて気になるところがあったのでちょっとだけ補足です。
普通の(動的でない)テクスチャを作って LockRect でロックする場合、USAGE は 0、POOL は D3DPOOL_MANAGED でOKです。
質問には直接関係ないですけど、「D3DPOOL_DEFAULT かー… 管理めんどくさいなー」って思われたなら D3DPOOL_MANAGED で作ってみるのがいいと思います。
読んでいて気になるところがあったのでちょっとだけ補足です。
普通の(動的でない)テクスチャを作って LockRect でロックする場合、USAGE は 0、POOL は D3DPOOL_MANAGED でOKです。
質問には直接関係ないですけど、「D3DPOOL_DEFAULT かー… 管理めんどくさいなー」って思われたなら D3DPOOL_MANAGED で作ってみるのがいいと思います。
Re:DX のテクスチャ処理について
http://msdn.microsoft.com/ja-jp/library/cc324365.aspx
にも「D3DUSAGE_DYNAMIC と D3DPOOL_MANAGED は互換性がないので、同時には使えない」って書いてあるので無理っぽいです。
実際にそれでテクスチャ作ってみたら、CreateTexture がエラーを返しました。
にも「D3DUSAGE_DYNAMIC と D3DPOOL_MANAGED は互換性がないので、同時には使えない」って書いてあるので無理っぽいです。
実際にそれでテクスチャ作ってみたら、CreateTexture がエラーを返しました。
Re:DX のテクスチャ処理について
皆様、ありがとうございます。
奇想天外ですが、こんなコード思いつきました。
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);
エラーがないですが、うまくいかない。(テクスチャの内容を書き換えてないみたい)
ご教授の程、よろしくお願いします。
奇想天外ですが、こんなコード思いつきました。
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 のテクスチャ処理について
すいません。結局何がしたいのでしょうか?
テクスチャをレンダリングターゲットにしたいのですか?
それならまず、テクスチャのサーフェイスを取得したあと、
SetRenderTargetでそのサーフェイスを指定しなければなりません。
レンダリングターゲットに設定した後は、通常通り描画するだけでテクスチャに描画されます。
当然ですが最終的には元のバックバッファに描画することになると思いますので、
あらかじめ、バックバッファのサーフェイスを取得しておかなければなりません。
提示していただいたコードでは、ただテクスチャを作って、ただバックバッファをクリアして、
何も描画せずに終了しているだけです。
何がしたいのかまったく見えないので、誰にでも分かるように具体的に説明して下さい。
よろしくお願い致します。
テクスチャをレンダリングターゲットにしたいのですか?
それならまず、テクスチャのサーフェイスを取得したあと、
SetRenderTargetでそのサーフェイスを指定しなければなりません。
レンダリングターゲットに設定した後は、通常通り描画するだけでテクスチャに描画されます。
当然ですが最終的には元のバックバッファに描画することになると思いますので、
あらかじめ、バックバッファのサーフェイスを取得しておかなければなりません。
提示していただいたコードでは、ただテクスチャを作って、ただバックバッファをクリアして、
何も描画せずに終了しているだけです。
何がしたいのかまったく見えないので、誰にでも分かるように具体的に説明して下さい。
よろしくお願い致します。
Re:DX のテクスチャ処理について
動的テクスチャを作って、
それでそのテクスチャをいろいろなところで描画、
というのをもう少し具体的にいうとどのようなことでしょうか?
もうちょっと情報が必要だと思います
それでそのテクスチャをいろいろなところで描画、
というのをもう少し具体的にいうとどのようなことでしょうか?
もうちょっと情報が必要だと思います
Re:DX のテクスチャ処理について
実は動的テクスチャを作るクラス制作中です。
できたテクスチャを3Dモデルに張ったり
(たとえば、花瓶やガラスなどのひび割れ、壁の張り紙やポスター、布や紙などのしわなど)、
文字のウインドを表示したりしたいです。
一度作ったテクスチャは何度でもつかいたいです。
半透明や透過や変色なども実現したいです。
ご教授の程、よろしくお願いします。
できたテクスチャを3Dモデルに張ったり
(たとえば、花瓶やガラスなどのひび割れ、壁の張り紙やポスター、布や紙などのしわなど)、
文字のウインドを表示したりしたいです。
一度作ったテクスチャは何度でもつかいたいです。
半透明や透過や変色なども実現したいです。
ご教授の程、よろしくお願いします。
Re:DX のテクスチャ処理について
やろうとなさっていることが、
ちょっと多くの要素を含んでいるので、一つ一つ分割して挑戦してみてはいかがでしょうか?
このサイトが参考になると思います まるぺけつくろー様です
http://marupeke296.com/DirectXMain.html
>花瓶やガラスなどのひび割れ、壁の張り紙やポスター
→おそらく出来たテクスチャを2枚重ねと言う意味でしょうか
でしたら、マルチパスレンダリング
マルチパス テクスチャー ブレンディングあたりでしょうか
>文字のウインドを表示したり
→こちらはID3DXFontを使わず高速に描画したいということでしょうか?
紹介したサイトのその5あたりのトピックでしょうか
>半透明や透過や変色→アルファブレンド 線形合成 加算合成 減算合成 乗算合成
directxはちょっとしたことに思えても、
たくさんのプロセスが必要な場合が多いと思います
やりたいことを分割して、一つ一つ手の届くところから挑戦していってはいかがでしょうか?
まずはアルファブレンドで2枚のテクスチャを重ねるところあたりが簡単かなと思います
ちょっと多くの要素を含んでいるので、一つ一つ分割して挑戦してみてはいかがでしょうか?
このサイトが参考になると思います まるぺけつくろー様です
http://marupeke296.com/DirectXMain.html
>花瓶やガラスなどのひび割れ、壁の張り紙やポスター
→おそらく出来たテクスチャを2枚重ねと言う意味でしょうか
でしたら、マルチパスレンダリング
マルチパス テクスチャー ブレンディングあたりでしょうか
>文字のウインドを表示したり
→こちらはID3DXFontを使わず高速に描画したいということでしょうか?
紹介したサイトのその5あたりのトピックでしょうか
>半透明や透過や変色→アルファブレンド 線形合成 加算合成 減算合成 乗算合成
directxはちょっとしたことに思えても、
たくさんのプロセスが必要な場合が多いと思います
やりたいことを分割して、一つ一つ手の届くところから挑戦していってはいかがでしょうか?
まずはアルファブレンドで2枚のテクスチャを重ねるところあたりが簡単かなと思います
Re:DX のテクスチャ処理について
動的テクスチャを作りたいって言ってるのは、
ただ画像を読み込んでテクスチャを作りたいってことですか?
それともCreateTextureで作って、自分でデータを書き込んでテクスチャを作りたいってことですか?
まあどちらにしても、うしおさんが貼ってくださっているサイトを参考に順番に一から勉強して
いってください。
前にもスモモさんにはそのサイトを教えたはずなので、ずっとそこで勉強されているものだと
思ってましたが、もしそのサイトだけで理解が出来ないのであれば、
参考書等を購入することをお勧めします。
以上。
ただ画像を読み込んでテクスチャを作りたいってことですか?
それともCreateTextureで作って、自分でデータを書き込んでテクスチャを作りたいってことですか?
まあどちらにしても、うしおさんが貼ってくださっているサイトを参考に順番に一から勉強して
いってください。
前にもスモモさんにはそのサイトを教えたはずなので、ずっとそこで勉強されているものだと
思ってましたが、もしそのサイトだけで理解が出来ないのであれば、
参考書等を購入することをお勧めします。
以上。
