VC++プロジェクトのプロパティについて説明します
プログラムをビルドするとき、参照するディレクトリおよびファイルの設定
ビルド時のバッチコマンド実行など
プログラムを作成するために覚えておくとべきことと
プログラム作成の効率を上げる方法を紹介します

よく使う設定は以下の通りです
DebugモードとReleaseモード
文字コードの設定
追加のインクルードディレクトリ
追加のライブラリディレクトリ
追加の依存ファイル
コード生成
ビルド時コマンドライン
プリプロセッサの定義

プロジェクトのプロパティを操作するにはメニュー欄から
「プロジェクト」→「プロパティ」を選びます

prop10.GIF

DebugモードとReleaseモード

実行ファイルを作りに当たり、DebugモードとReleaseモードがあります。
Debugモードは主にプログラムのデバック(バグ消し)を行うためのモードです
Releaseモードは完成したアプリケーションを配布するためのモードです
DebugモードとReleaseモードを切り替えるには次の箇所で選択します
注意しないといけないのは
DebugモードとReleaseモード別々にプロパティの設定をする必要があります

prop9.GIF

文字コードの設定

文字コードの設定を行います
基本的に「Unicode」か「マルチバイト文字」の設定を行います
Windows APIの関数を使うときはUnicodeとマルチバイトとで使われる関数が違うため
Windows APIの文字列関係のコンパイルエラーとなった場合、この設定を変更することで回避できます
(個人的にはこの設定に依存しないようなプログラムを書いたほうが良いと思いますが・・・)

prop1.GIF

追加のインクルードディレクトリ

プロジェクトに使うインクルードファイルのディレクトリの設定を行います
これはたとえばa.hというヘッダーファイルが
別のincludeというディレクトリ(フォルダ)にあったとして
インクルードするときには

#include "include\\a.h"

としてやらなければならないのですが
このincludeフォルダに他にもヘッダーファイルがある場合
いちいちパスをたどって指定するのはめんどうです
そこでincludeディレクトリの場所を予めプロジェクトに覚えさせておけば

#include "a.h"

と書くことができます。

パスというのは「親\子」のように「\」で区切られ、階層状になっています
ただし、プログラムや設定などでは「\」ではなく「\\」を使います
というのは「\」はプログラム上や設定では特殊な文字として扱われるので
普通に\文字を表示するには\\と書く必要があるからです
また、「\\」でなく「/」で区切ってあっても同じ意味です
パスは2種類あり、相対パスと絶対パスがあります
絶対パスというのはドライブ直下から階層が全て書かれているものを指します

たとえば次のようなものです

pass.GIF

これはパソコンを使っている人毎にフォルダやファイルの置き場とか異なりますし
長いのでプログラムや設定などで使うのは好ましくありません
そこで相対パスの指定方法を説明します

「.」は現在のディレクトリの絶対パスを指します
「..」は現在のディレクトリの1つ上のディレクトリの絶対パスを指します

ここでは、プロジェクトでのパスの設定のとき「.」を先頭に付けることで
プロジェクト(.vcproj)のあるディレクトリまでのパスを指します
プロジェクトのディレクトリ下にincludeディレクトリがある場合、次のように指定します

prop2.GIF

追加のライブラリディレクトリ

こちらはプロジェクトに使うライブラリファイル(.lib)ファイルのディレクトリを指定します
指定の仕方は追加のインクルードディレクトリと同じです

prop5.GIF

追加の依存ファイル

プロジェクトに使うライブラリファイル(.lib)ファイルを指定します
直接ライブラリファイルを指定します
プログラム冒頭で

#pragma comment(lib,"ライブラリファイル名.lib")

と書くのと同じことです
(個人的には#pragmaのがおすすめ)

prop8.GIF

コード生成

アプリケーションの構成にかかわる重要な項目です
コード生成には次の4つがあります
・マルチスレッドデバック
・マルチスレッド
・マルチスレッドデバックDLL
・マルチスレッドDLL

prop6.GIF

基本的には
Debugモードではマルチスレッドデバック
Releaseモードではマルチスレッド
を使います
というのは
・マルチスレッドデバックDLL
・マルチスレッドDLL
で作成した実行ファイルは別のパソコンで起動するには
次のようにうまく起動できず

exeerror.jpg

別にインストールするものが増えてしまうのです
(たとえば、VC++2005で作成した場合はVC++2005 再頒布可能パッケージが必要となります)
この2つに関してはさらに詳しくはDLLの項目で説明します

実行ファイルを配布するときにはReleaseモードでマルチスレッド
に設定した実行ファイルを作成するのを忘れないでください

ビルド時コマンドライン

ビルドイベント時(ビルドするとき)
・ビルド前
・リンク前
・ビルド後
の3種類でバッチコマンドを指定できます
たとえば、ビルド後のファイルを指定の箇所にコピーするコマンドをここに書いておけば
ビルドするたびにコマンドが実行され
ファイルを指定の箇所にコピーしてくれます
より詳細な使い方はバッチファイル作成の項目で説明します

prop7.GIF

プリプロセッサの定義

プリプロセッサの定義を設定できます
これはプロジェクト全体で#defineされているのと同じ意味を持ちます
ちなみに_DEBUGという定義はDebugモード時にデフォルトで定義されています
なので_DEBUGを利用してデバック用のコードを切り分けたりによくつかわれます。

prop4.GIF

選択肢 投票
(^ω^)やったお 1  
何これwww意味不すぎwww 0  
。(`ω´#)。あぁん?最近、だらしねぇな 0  

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS