开发者

How to build boost libraries with bcc32 v6.31 + Borland XE?

I am trying to build boost_1_39 provided with Borland Rad Studio XE using WinXP. The latest version of Developer Studio provides boost_1_39 installer, but not the prebuilt libraries.

Using bjam:

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

I get the following errors:

...patience...
...patience...
...pati开发者_如何学运维ence...
...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 ***

Is there a way to build the latest boost libraries with bcc32 version 6.31 supplied with Borland XE?


Are you referring to specific libraries that do not come installed with the XE version of the IDE? A good portion of the libraries already come with the product.

The libraries that I see are the following:

  • Date Time
  • Filesystem
  • IOStreams
  • Regex
  • Serialization
  • Signals
  • System
  • Thread
  • Test

Of course, much of what boost provides is in the form of headers and therefore don't need to be compiled.


The combinations of bcc32 and boost::program_options didn't work so well in 1_39. (and that's why it didn't ship with the .lib files for it) You'll probably have to set up a parallel installation of 1_34_1 of boost and tweak it a bit to rebuild the program_options libraries.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜