Visual Studio 2010(C++)を使用する上での注意点
■64bitアプリケーションの作成
・構成マネージャーでプラットフォームをx64を選択する。(ない場合は新規作成する。)
⇒「プロジェクトのプロパティ>構成プロパティ>リンカー>詳細設定>対象コンピューター」が「MachineX64 (/MACHINE:X64)」となる。
参考:
『Visual Studio 2010で64bitアプリケーションを作成する(C++):航海日誌:So-netブログ』
http://develop-tom.blog.so-net.ne.jp/2011-04-16
『Visual C++ 2010 Expressで64bitコンパイル - torutkの日記』
http://d.hatena.ne.jp/torutk/20100927/p1
<SDKインストール時にエラーが出る場合の対応>
『luluciの -Windows SDK 7.1 のインストールでハマった』
http://luluci.blog44.fc2.com/blog-entry-117.html
『Microsoft Windows SDK for Windows 7 and .NET Framework 4』
※対応方法をまとめると以下の通り。
・「Visual c++ 2010 x86 Redistributable」と「Visual c++ 2010 x64 Redistributable」を削除する。
・SDKインストール時に「Microsoft Visual C++ Compilers 2010~」のインストール対象のチェックを外してインストール。
・インストール後、「Visual c++ 2010 x86 Redistributable」と「Visual c++ 2010 x64 Redistributable」を再インストールする。
■古いソリューションファイルの変換について
visualstudio 2008等の古いバージョンのソリューションファイルを2010のソリューションに変換した後、ビルドできないことがある。その場合に確認することを記述する。
・ソリューションに複数のプロジェクトが存在し、あるプロジェクトが他のプロジェクトを参照している場合(ライブラリのリンク)。以下を確認する。
1)「プロジェクトのプロパティ>構成プロパティ>リンカー>全般>ライブラリ依存関係のリンク」項目が、「はい」になっていることを確認する。
2)「プロジェクトのプロパティ>共通プロパティ>参照(R)」にリンクしたいプロジェクトの参照が正しく設定されているか確認する。
自分自身のプロジェクトが参照対象に含まれていないか確認する。含まれていたら、削除する。
削除しないと「エラー 370 error MSB4006: ターゲット "ResolvedXDCMake" で、ターゲット依存グラフに循環する依存関係が存在します。C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets 1410」のようなエラーが発生する。
3)「プロジェクトのプロパティ>共通プロパティ>プロジェクト参照のプロパティ>ライブラリ依存関係のリンク」が「true」になっているか確認する。
参考:
『技術メモ VisualStudio2010 依存関係の取り扱い』