简体   繁体   English

在发布模式下构建Boost

[英]build Boost in release mode

That is with Boost 1.55.0. 那就是Boost 1.55.0。

In a Cygwin shell, after cmd /c "bootstrap.bat" , my command is: 在Cygwin Shell中,在cmd /c "bootstrap.bat" ,我的命令是:

./b2 variant=release runtime-debugging=off -sICU_PATH=z:/icu-installed -sICU_LINK="/LIBPATH:z:\\icu-installed\\lib sicuuc.lib sicudt.lib sicuin.lib " --prefix=z:/boost-installed toolset=msvc link=static --without-python --reconfigure install

Output: 输出:

link.jam: No such file or directory
Performing configuration checks

    - 32-bit                   : yes
    - arm                      : no
    - mips1                    : no
    - power                    : no
    - sparc                    : no
    - x86                      : yes
    - has_icu builds           : no
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
...

In bin.v2/config.log , I get this: bin.v2/config.log ,我得到了:

...found 8 targets...
...updating 7 targets...
common.mkdir bin.v2
common.mkdir bin.v2\libs
common.mkdir bin.v2\libs\context
common.mkdir bin.v2\libs\context\config
common.mkdir bin.v2\libs\context\config\msvc-12.0
common.mkdir bin.v2\libs\context\config\msvc-12.0\debug
compile-c-c++ bin.v2\libs\context\config\msvc-12.0\debug\32.obj
32.cpp
...updated 7 targets...
...found 2 targets...
...updating 1 target...
...
common.mkdir bin.v2\libs\regex\build\msvc-12.0\debug
compile-c-c++ bin.v2\libs\regex\build\msvc-12.0\debug\has_icu_test.obj
has_icu_test.cpp
...
msvc.link bin.v2\libs\regex\build\msvc-12.0\debug\has_icu.exe
sicuuc.lib(udata.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in has_icu_test.obj
sicuuc.lib(udata.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in has_icu_test.obj
...

So, for some reason, it uses Debug settings there. 因此,由于某种原因,它在那里使用了调试设置。

How can I build Boost in Release mode? 如何在发布模式下构建Boost?

Or are just the config test builds in Debug mode and the rest would actually be in Release mode? 还是仅在Debug模式下进行配置测试,而其余的实际上在Release模式下进行? But why is that? 但是为什么呢? And how can I also have the config test builds in Debug mode? 以及如何在调试模式下进行配置测试?

Esp., in this case, has_icu fails because I have build that lib in Release mode ( /MD ). 在这种情况下, has_icu失败,因为我已经在发布模式( /MD )中构建了该lib。

I find BlueGo tool quite helpful for building boost. 我发现BlueGo工具对于构建增强功能非常有用。 You can configure Release/Debug modes and select other configurations too. 您可以配置发布/调试模式,也可以选择其他配置。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM