如何使用bcc32 v6.31 + Borland XE构建boost库?

时间:2011-02-10 14:44:40

标签: c++ boost c++builder c++builder-xe

我正在尝试使用WinXP构建 Borland Rad Studio XE 提供的 boost_1_39 。最新版本的Developer Studio提供了boost_1_39安装程序,但不提供预构建的库。

使用 bjam

\tools\jam\src\bin.ntx86\bjam --build-dir=c:\boostsource --toolset=borland -d +1 

我收到以下错误:

...patience...
...patience...
...patience...
...found 4685 targets...
...updating 970 targets...
common.mkdir c:\boostsource\boost\bin.v2\libs\math\build\borland\debug\link-static\threading-multi
borland.compile.c++ c:\boostsource\boost\bin.v2\libs\math\build\borland\debug\link-static\threading-multi\acosh.obj
libs\math\build\..\src\tr1\acosh.cpp:
borland.compile.c++ c:\boostsource\boost\bin.v2\libs\math\build\borland\debug\link-static\threading-multi\asinh.obj
libs\math\build\..\src\tr1\asinh.cpp:
Warning W8072 .\boost/format/alt_sstream_impl.hpp 108: Suspicious pointer arithmetic in function basic_altstringbuf<char,std::char_traits<char>,std::a
llocator<char> >::seekoff(__int64,std::_Iosb<int>::_Seekdir,std::_Iosb<int>::_Openmode)
Warning W8072 .\boost/format/alt_sstream_impl.hpp 108: Suspicious pointer arithmetic in function basic_altstringbuf<char,std::char_traits<char>,std::a
llocator<char> >::seekoff(__int64,std::_Iosb<int>::_Seekdir,std::_Iosb<int>::_Openmode)
Warning W8072 .\boost/format/alt_sstream_impl.hpp 126: Suspicious pointer arithmetic in function basic_altstringbuf<char,std::char_traits<char>,std::a
llocator<char> >::seekoff(__int64,std::_Iosb<int>::_Seekdir,std::_Iosb<int>::_Openmode)
Warning W8072 .\boost/format/alt_sstream_impl.hpp 126: Suspicious pointer arithmetic in function basic_altstringbuf<char,std::char_traits<char>,std::a
llocator<char> >::seekoff(__int64,std::_Iosb<int>::_Seekdir,std::_Iosb<int>::_Openmode)
borland.compile.c++ c:\boostsource\boost\bin.v2\libs\math\build\borland\debug\link-static\threading-multi\atanh.obj
libs\math\build\..\src\tr1\atanh.cpp:
borland.compile.c++ c:\boostsource\boost\bin.v2\libs\math\build\borland\debug\link-static\threading-multi\cbrt.obj
libs\math\build\..\src\tr1\cbrt.cpp:
Error E2188 .\boost/fusion/container/vector/detail/deref_impl.hpp 32: Expression syntax
Error E2040 .\boost/fusion/container/vector/detail/deref_impl.hpp 32: Declaration terminated incorrectly
Error E2451 .\boost/fusion/container/vector/detail/deref_impl.hpp 38: Undefined symbol 'element'
Error E2299 .\boost/fusion/container/vector/detail/deref_impl.hpp 38: Cannot generate template specialization from 'detail::cref_result<T>'
Error E2451 .\boost/fusion/container/vector/detail/deref_impl.hpp 39: Undefined symbol 'element'
Error E2228 .\boost/fusion/container/vector/detail/deref_impl.hpp 39: Too many error or warning messages
*** 6 errors in Compile ***

有没有办法用Borland XE提供的bcc32版本6.31构建最新的boost库?

2 个答案:

答案 0 :(得分:2)

您指的是未安装IDE的XE版本的特定库吗?很多图书馆已经附带产品。

我看到的库如下:

  • 日期时间
  • 文件系统
  • 输入输出流
  • 正则表达式
  • 序列化
  • 信号
  • 系统
  • 测试

当然,boost提供的大部分内容都是头文件,因此不需要编译。

答案 1 :(得分:2)

bcc32和boost :: program_options的组合在1_39中效果不佳。 (这就是它没有附带.lib文件的原因) 您可能必须设置1_34_1的并行安装并稍微调整一下以重建program_options库。