インストールメモ

やらないとかいってたが、SerializeのインストールがマルチスレッドDLLデバッグしか作ってくれないのでちょっといじってみた。

jamfileみるとstatic singleになってるのに出力されるのはmtなんですが・・orz

つーわけでjamfile書き直し。

書き直した部分はこんな感じ。


lib boost_serialization
: ../src/$(SOURCES).cpp
: [ common-names ]
$(SPIRIT_ROOT)
$(BOOST_ROOT)
$(BOOST_ROOT)
<*>-w-8080
<*>-Gy
<*>-Gy
<<*>-Gy
single/multi static
: debug release
;

lib boost_wserialization
: ../src/$(WSOURCES).cpp
: [ common-names ]
$(SPIRIT_ROOT)
$(BOOST_ROOT)
$(BOOST_ROOT)
<*>-w-8080
<*>-Gy
<*>-Gy
<<*>-Gy
single/multi static
: debug release
;

dll boost_serialization
: ../src/$(WSOURCES).cpp
: [ common-names ]
$(SPIRIT_ROOT)
$(BOOST_ROOT)
$(BOOST_ROOT)
<*>-w-8080
<*>-Gy
<*>-Gy
<<*>-Gy
BOOST_ALL_DYN_LINK=1
single/multi dynamic
: debug release
;

dll boost_wserialization
: ../src/$(SOURCES).cpp
: [ common-names ]
$(SPIRIT_ROOT)
$(BOOST_ROOT)
$(BOOST_ROOT)
<*>-w-8080
<*>-Gy
<*>-Gy
<<*>-Gy
BOOST_ALL_DYN_LINK=1
single/multi dynamic
: debug release
;

install serialization lib
: boost_serialization boost_wserialization boost_serialization boost_wserialization
;

stage stage/lib : boost_serialization boost_wserialization boost_serialization boost_wserialization
: $(BOOST_ROOT)
stage
all
: debug release
;

これで作られたlibは自動でリンクされないのでauto_link.hppをつかって自動リンクしてもらう。


#define BOOST_LIB_NAME boost_serialization
#include

ただ、auto_linkみると

Before including this header you must define one or more of define the following macros:

ってあるので、dllとか作るときはこれだとだめかも。

まぁ正式リリースまでのつなぎってことで。

追記:

どうやらDLLがリンクできないみたいなので、DLL使う場合は他の方法で。