ぼく用あれこれまとめ
VisualStudio2010
最終更新:
bokuyo
-
view
VisualStudio2010
VC++2010を使う前に。
- [ツール(T)]->[設定(S)]->[上級者用の設定]にしておくことを忘れずに。
リンカの設定 (プロパティシートを用いたリンカの設定)
例: DirectX SDK(June 2010)のリンカ設定をする。
- ※上記の手順で[上級者用の設定]にする。
- [表示(V)]->[プロパティ マネージャー(P)]で"プロパティ マネージャー"を開く。
- "プロパティ マネージャー"内の[新しいプロジェクト プロパティ シートの追加]アイコンをクリック。
- もしくは、"プロパティ マネージャー"内で右クリック->[新しいプロジェクト プロパティ シートの追加(P)]をクリック。
- または、"ソリューション エクスプローラー"内で右クリック[追加]->[新しい項目]でもおk。
- [プロパティ シート(.props)]ファイルを作ります。ファイル名は適当に。
- 気のきいたファイル名が思いつかなかったので"DirectXJune2010Linker.props"ってしときます。
- できあがったプロパティシートが"プロパティ マネージャー"内にできあがっているとおもひます。
- "Debug | Win32"ディレクトリに1個、"Release | Win32"ディレクトリに1個ずつ表示されてるはず。
- DebugとReleaseで1つずつ表示されてるけど、どちらも同じファイルよ。プロジェクトフォルダの中を見てみると、作ったプロパティシートが1個入ってるよ。
- "Debug | Win32"ディレクトリに1個、"Release | Win32"ディレクトリに1個ずつ表示されてるはず。
- できたプロパティシート"DirectXJune2010Linker.props"をすばやくダブルクリック。
- プロパティ ページが開いたら
- [共通プロパティ]->[VC++ ディレクトリ]->[インクルード ディレクトリ]で右の[▼]をクリック
- [<編集...>]->[新しい行]->"C:\Program Files\Microsoft DirectX SDK (June 2010)\Include"
- 同様にして、[共通プロパティ]->[VC++ ディレクトリ]->[インクルード ディレクトリ]で右の[▼]をクリック
- [<編集...>]->[新しい行]->"C:\Program Files\Microsoft DirectX SDK (June 2010)\Lib\x86"
- これで設定完了。
他のプロジェクトで同様のリンカ設定が必要になった時は
- 上記の手順で"プロパティ マネージャー"を開き、[既存のプロパティ シートの追加(E)]で上記で作ったプロパティシートを読み込んで設定することが可能。
もし、上記の例に従い、DirectXを使ったときにビルドエラーが起きたら。
- このようなビルドエラーが起きた場合
1>unkoclass.obj : error LNK2001: 外部シンボル "_D3DXCreateSprite@8" は未解決です。 1>unkoclass.obj : error LNK2001: 外部シンボル "_Direct3DCreate9@4" は未解決です。 1>c:\Release\unkoclass.exe : fatal error LNK1120: 外部参照 2 が未解決です。
解決策1. 以下の3行を、DirectXを使用するソースの上のほうに書いておくといいかも。(DirectX9を使用する場合)
#pragma comment(lib, "dxguid.lib") #pragma comment(lib, "d3d9.lib") #pragma comment(lib, "d3dx9.lib")
解決策2. 上記の例の中で作ったプロパティシートを開き
- [共通プロパティ]->[リンカー]->[入力]->[追加の依存ファイル]で右の[▼]をクリック
- [<編集...>]
dxguid.lib d3d9.lib d3dx9.lib
- でおk。
Visual C++依存周り
- VC++だとsnprintf()関数がなくてかわりに、_snprintf()関数があるみたい。
fopen
warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
- CRT のセキュリティがうんぬん
- MSDN - fopen、_wfopen - 古いほう(標準ライブラリに従ったもの)
- MSDN - fopen_s、_wfopen_s - 新しいほう(Windows のみ、CRT)
ビルドしたときに実行ファイルと一緒にできる謎ファイル「PDB」
- .pdb(PDB, Program Debug Database file)
- [プロジェクト]->[プロパティ]->[構成プロパティ]->[C/C++]->[デバッグ情報の形式] から変更可能
メモリリークを検出する
Visual C++ でビルド時間を測定する
- [ツール] -> [オプション] -> [プロジェクトおよびソリューション] -> [VC++ プロジェクトの設定] -> [ビルド時間] -> [はい]