ページ 11

VC++の設定

Posted: 2008年12月21日(日) 16:38
by MEME
パソコンを再インストールし改めてVC++をインストールしたのですが
コンパイルエラーが出まくって困っています。
おそらくDirectXのlibとインクルードファイルの設定が間違っているのだと思いますがどうしたらいいか・・

使用しているものはMicrosoft Visual C++ 2005 Express Edition、DirectX9bSDK、PratformSDKです
オプションのVC++ディレクトリで
インクルードファイルの一番上から
C:\Program Files\Microsoft Platform SDK\Include
C:\Program Files\Microsoft Platform SDK\Include\mfc
C:\Program Files\Microsoft Platform SDK\Include\atl
C:\DXSDK\Include\DShowIDL
C:\DXSDK\Include
ライブラリファイルは
C:\Program Files\Microsoft Platform SDK\Lib
C:\DXSDK\Lib
としています
エラーは一部ですが
未解決の外部シンボル __imp__MessageBoxA@16 が参照されました。未解決です。
未解決の外部シンボル __imp__DeleteObject@4 が参照されました。未解決です。
という感じです。よろしくお願いします。

Re:VC++の設定

Posted: 2008年12月21日(日) 17:59
by Justy
 どちらかといえば、PratformSDKです。
 user32.lib/gdi32.libがリンクされていないのではないでしょうか。

 PratformSDKの libディレクトリへのパスが正しいかどうか、
ファイルが正しく存在するかどうか、プロジェクト側でリンク指定を
しているかどうか確認してみて下さい。

Re:VC++の設定

Posted: 2008年12月21日(日) 18:20
by MEME
両方のファイル共にありました。
パスもあっていましたが、プロジェクト側でのリンク指定とはどういういみでしょうか?
再インストールする前のソースなのでソース自体は変える必要ないと思っていたのですが、
どうなのでしょうか?

Re:VC++の設定

Posted: 2008年12月21日(日) 19:38
by Justy

>再インストールする前のソースなのでソース自体は変える必要ない

 基本的にはないはず、なんですけどね。
 インストール時に何かのパスが変わってしまったとか
設定が変わってしまったのだとは思いますが、正確にはわかりません。



>パスもあっていましたが、プロジェクト側でのリンク指定とはどういういみでしょうか

 では試しに、ソースコードのどこかに
[color=#e0f0ff" size="-1" face="monospace]
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "gdi32.lib")
[/color]
 と書いてビルドしてみて下さい。

 これでうまくリンクできないようでしたら、PratformSDKへのパスに問題がありそうです・

 反対にうまくリンクできるようですと、プロジェクトの設定に問題があることになります。

 プロジェクトのプロパティから「構成プロパティ -> リンカ -> 入力」の中の「追加の依存ファイル」の
右側の欄を1回クリックすると、右端に ...のボタンが現れると思います。

 これをクリックすると、「追加の依存ファイル」ダイアログが現れますが、
ここ(編集可能な)上の欄と(編集不可の)下の欄のどちらかに user32.lib/gdi32.libが
あるかどうか確認して下さい。
 多分ないはずです。

 なければ、上の欄に1行ずつライブラリの名前を記述してOKボタンを押しダイアログを閉じて
もう1度ビルドしてみて下さい。

 これでどうなりますでしょうか?

Re:VC++の設定

Posted: 2008年12月21日(日) 19:43
by Justy
 あ、「追加の依存ファイル」ダイアログの下の欄にライブラリの名前が入っているようでしたら、
「親またはプロジェクトの既定値から継承する」のチェックボックスがどうなっているかを確認して下さい。

 ここにチェックが入っていなければ付けてビルドしてみて下さい。

Re:VC++の設定

Posted: 2008年12月21日(日) 19:56
by MEME
質問しておいて申し訳ないのですが解決しました。
具体的には
http://homepage2.nifty.com/natupaji/DxL ... press.html
こちらのサイトの2の手順を踏み忘れていました。
面倒で忘れやすい作業だからこまりますw
Justyさん、ありがとうございました。