プリコンパイルヘッダはwindows.hなどの固定的なファイルをある程度までコンパイルしておいて、1ファイルのコンパイルのたびに最初からやり直さずにすることでビルドを高速化させるものです。通常はstdafx.hがプリコンパイルの対象になります。boostをこの中に入れてもいいのですが、このファイルを編集するとプリコンパイルヘッダ作成が必要で時間がかかるのでboost関係は別のプリコンパイルヘッダを作る方法です。
まずプリコンパイル用のファイルboostheader.hとboostheader.cppを用意します。boostheader.hにはboostをインクルードし、boostheader.cppはboostheader.hだけをインクルードします。
1 2 3 4 5 6 7 |
#pragma once #include <string> #include <boost/format.hpp> #include <windows.h> #include <tchar.h> |
1 |
#include "boostheader.h" |
Visual Studioの設定でboostheader.cppを以下のようにしてプリコンパイルヘッダboostheader.pchを作成します。
boostを使う関数を書いたファイルboostfunc.cppはstdafx.hの代わりにboostheader.hをインクルードします。
1 2 3 4 5 |
#include "boostheader.h" string boosprintf(LPCTSTR fmt, LPCTSTR tgt) { return (boost::format(fmt)%tgt).str(); } |