#author("2017-11-27T23:53:14+09:00","default:wikiwriter","wikiwriter") #author("2017-11-28T00:17:16+09:00","default:wikiwriter","wikiwriter") &tag(Boost/FAQ); *目次 [#p53431b0] #contents *関連ページ [#p91d6b62] *参考情報 [#v508de04] *自動リンクの仕組み [#v2caa8a2] -[[Boost の autolink がやたらと鬱陶しい件 - muddy brown thang:http://d.hatena.ne.jp/moriyoshi/20070608/1181309708]]にあるように、autolink.hppで自動リンクが実行される。 #pre{{ #ifdef BOOST_AUTO_LINK_TAGGED # pragma commentcomment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") # endif #elif defined(BOOST_AUTO_LINK_NOMANGLE) # pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") # endif #else # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") # endif #endif }} -ライブラリの見つけ方二関しては[[boostがライブラリを見つける方法 – ブーログ:http://ambiesoft.fam.cx/blog/archives/3669]]が参考になりそう。BOOST_LIB_DIAGNOSTICを定義することで診断することができる。 *32bit vs 64bit [#e6d0ccd1] -[[Builtin tools:http://www.boost.org/build/doc/html/bbv2/reference/tools.html#bbv2.reference.tools.compiler.msvc]]の64-bit supportのところが参考になる。 -64bitの方が高速だけど、気にしないならば32bitの方が安定なのかも。 -[[Visutal Studio で Boost C++ Libraries をビルドする - Life like a clown:http://clown.hatenablog.jp/entry/20110323/1300886446]]によると64bit版ライブラリ作成時にはx64コマンドプロンプトの起動が必要と思えるが、[[Builtin tools:http://www.boost.org/build/doc/html/bbv2/reference/tools.html#bbv2.reference.tools.compiler.msvc]]には以下のような記述がある。 #pre{{ The (AMD64 host, AMD64 target) compiler will be used automatically when you are generating AMD64 code and are running 64-bit Windows on AMD64. The (IA64 host, IA64 target) compiler will never be used, since nobody has an IA64 machine to test. }}