いろきゅうの(元)はてなダイアリー

はてなダイアリーから移行中…

inlucdeの順番

boostライブラリを活用しているのですがー、scoped_array が使いたくなったのでファイルをinlcude。(つか、auto_array が標準でついてれば、事足りたんですがー^^;)
ついでに、他のポインタ系も入れておこうかねぇ〜 ってことで、inlcude したところ、次のような感じになりました。
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/array.hpp>
#include <boost/bind.hpp>
#include <boost/scoped_ptr.hpp>
#include <boost/scoped_array.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/shared_array.hpp>

でー、このままビルドしたら、何でかリンクエラーが発生。メッセージを見ると "_1" が被ってるような感じ。 …原因はよくわかりませんが、勘で

#include <boost/array.hpp>
#include <boost/bind.hpp>
#include <boost/scoped_ptr.hpp>
#include <boost/scoped_array.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/shared_array.hpp>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>


と、lambda関係を下に持って来たら、正常にコンパイルできてみたり

…とりあえず、inlucdeの順番が重要ってのは良く解ったのですが、どのファイルの inlcude が原因なのかは良くわからず。^^;

いやぁだってねぇ…includeしてるところが stdafx.h なんで、ファイルに変更があったら全てのファイルのコンパイルし直さなきゃ行けない状態になるんだもん…メンドイっすよ…^^;