如何使用 bcc32 v6.31 构建 boost 库 +博兰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 库?
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...
...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 ***
Is there a way to build the latest boost libraries with bcc32 version 6.31 supplied with Borland XE?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您指的是未随 XE 版本的 IDE 安装的特定库吗?很大一部分库已经附带了该产品。
我看到的库如下:
当然,boost 提供的大部分内容都是标头的形式,因此不需要编译。
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:
Of course, much of what boost provides is in the form of headers and therefore don't need to be compiled.
bcc32 和 boost::program_options 的组合在 1_39 中效果不佳。 (这就是为什么它没有附带 .lib 文件)
您可能需要设置 boost 1_34_1 的并行安装,并对其进行一些调整以重建program_options 库。
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.