2007年10月06日

Visual Studioのプロジェクトのプロパティについて

私はVisual Studio 2005 Express Editionを使ってソフトウェアの開発を行っている。プロジェクトで必ず設定する項目として、[プロジェクトのプロパティ]→[構成プロパティ]→[全般]にある、プロジェクトの既定値の[文字セット]の部分をDebugとRelease共にデフォルトの[Unicode 文字セットを使用する]から[マルチ バイト文字セットを使用する]に変更の後、同構成プロパティの[C/C++]→[コード生成]にある、[ランタイム ライブラリ]の部分をDebugとRelease共にデフォルトの[マルチスレッド デバッグ DLL (/MDd)]から[マルチ スレッド デバッグ (/MTd)]に、[マルチ スレッド DLL (/MD)]から[マルチスレッド (/MT)]への変更を、手動で行っている。
新しいプロジェクトを始めるごとに手動で行うのは手間がかかり、設定のし忘れの防止のためにも出来ることならデフォルトの値を設定しておきたかったが、MicrosoftのリファレンスやWebで検索しても見つからなかったので、手動で設定ファイルを書き換えてデフォルトの設定を適用する方法をメモしておく。


1.Visual Studio 2005をインストールしたディレクトリ(Microsoft Visual Studio 8)から、\VC\VCWizards\AppWiz\Generic\Application\scripts\1041\へアクセスする

2.その中に入っているdefault.jsを念のためバックアップを取っておく

3.メモ帳などで開き以下の要領に従い文字セットの書き換えを行う
141行目(Debug用設定)にある
config.CharacterSet = charSetUNICODE;

config.CharacterSet = 希望する値;
に書き換える。希望する値は以下の通りである。

charSetNotSet; //設定なし
charSetUNICODE; //Unicode 文字セットを使用する
charSetMBCS; //マルチ バイト文字セットを使用する


同様に211行目(Release用設定)の書き換えを行う。

4.以下の要領に従いランタイム ライブラリの書き換えを行う
151行目(Debug用設定)にある
CLTool.RuntimeLibrary = rtMultiThreadedDebugDLL;

CLTool.RuntimeLibrary = 希望する値;
に書き換える。希望する値は以下の通りである。

rtMultiThreaded //Multi-threaded (/MT)
rtMultiThreadedDebug //Multi-threaded DLL (/MD)
rtMultiThreadedDebugDLL //Multi-threaded Debug DLL (/MDd)
rtMultiThreadedDLL //Multi-threaded Debug (/MTd)

同様に220行目(Release用設定)の書き換えを行う。

5.default.jsの保存を行い、実際に新規プロジェクトにて変更が適用されているか、エラーが出ないかを確認を行う


2007年10月05日

Visual StudioのIntelliSenseについて

Visual Studioを使ってソフトウェア開発している人には欠かせないであろう、IntelliSense。クラス名の自動補完などを行ってくれるので、その都度クラスのヘッダファイルを見る必要が無く、引数の型も表示してくれる便利な機能。

ところでつい最近、何故かIntelliSenseが反応しなくなってしまった。その時に行った修復方法をメモしておく。


1.一旦、開いてるソリューションを保存しVisual Studioを終了する
2.ソリューションのデータのあるディレクトリに移動する
3.プロジェクト名.ncbというファイルを削除又はリネームする
4.ソリューションを開き、IntelliSenseを使う


ソリューション名.ncbというファイルは、クラス名やメンバ変数、メンバ関数を管理するデータベースファイルである。それを削除することにより、破損していたncbファイルの再構築が行われるので再び利用可能となる。
なお、プログラムに問題があってIntelliSenseが動作しない場合も多いので事前に確認をしておくこと。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。