boostのビルドに時間がかかるので別のプリコンパイルヘッダを作成する

投稿者: | 2015/12/1 火曜日

プリコンパイルヘッダはwindows.hなどの固定的なファイルをある程度までコンパイルしておいて、1ファイルのコンパイルのたびに最初からやり直さずにすることでビルドを高速化させるものです。通常はstdafx.hがプリコンパイルの対象になります。boostをこの中に入れてもいいのですが、このファイルを編集するとプリコンパイルヘッダ作成が必要で時間がかかるのでboost関係は別のプリコンパイルヘッダを作る方法です。

まずプリコンパイル用のファイルboostheader.hboostheader.cppを用意します。boostheader.hにはboostをインクルードし、boostheader.cppboostheader.hだけをインクルードします。

boostheader.h
1
2
3
4
5
6
7
#pragma once
 
#include <string>
#include <boost/format.hpp>
 
#include <windows.h>
#include <tchar.h>
boostheader.cpp
1
#include "boostheader.h"

Visual Studioの設定でboostheader.cppを以下のようにしてプリコンパイルヘッダboostheader.pchを作成します。
clipshot 2015-12-01 05-36-33

boostを使う関数を書いたファイルboostfunc.cppはstdafx.hの代わりにboostheader.hをインクルードします。

boostfunc.cpp
1
2
3
4
5
#include "boostheader.h"
string boosprintf(LPCTSTR fmt, LPCTSTR tgt)
{
	return (boost::format(fmt)%tgt).str();
}

boostfunc.cppの設定を以下のようにします。
a

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です