|
Boost Users : |
Subject: [Boost-users] Please help: boost::format and Borland C++ version 0x564 errors
From: Royce (royce_at_[hidden])
Date: 2015-05-22 09:53:17
I'm trying to use boost::format with Borland C++ Builder 6 (Compiler version
0x564) and can't get the boost code to compile.
The code was working with sprintf but I need to be able to use numbered args
(i.e. "The first string is %1% and the second string is %2%." ) for
localization so that the language translators can change the position the
arguments appear in the translated text.
I get an "E2270 > expected" error in line of integral_c.hpp (boost
1_45_0). which is
template< bool C >
The code near the error is:
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
&& !BOOST_WORKAROUND(__BORLANDC__, <= 0x551)
BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
// 'bool' constant doesn't have 'next'/'prior' members
template< bool C >
struct integral_c<bool, C>
{
BOOST_STATIC_CONSTANT(bool, value = C);
typedef integral_c_tag tag;
.
>From what I can tell I should not have to define
BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION, and defining it I breaks working
code.
I did find a reference to a bug that affects version Borland compiler
versions 0x561 to 0x580 and I tried defining
BOOST_BCB_PARTIAL_SPECIALIZATION_BUG. That did not help, but at least it
didn't break anything.
I am able to create a small test project and it works. I was able to get
the same basic code to work in 50 or 60 places in 21 of the 23 *.cpp units
in my primary project.
This worked in my test code but broke in my main project.
std::stringstream ss;
ss << boost::format(LoadStr(STestWithString).c_str()) % "First" %
"Second";
AnsiString translatedMsg = AnsiString(ss.str().c_str());
ShowMessage(translatedMsg);
This also worked in my test program, but broke in my main project.
std::string sRawMsg;
AnsiString sDebug1 = "testArg1";
AnsiString sDebug2 = "testArg2";
sRawMsg = (boost::format("Testing %1% was first. %2% was second.")
% sDebug1.c_str() % sDebug2.c_str()).str();
// ignoreW8080(boost::none); // Suppress false warning - Compiles to
a nop.
Any suggestions on solving this problem would be greatly appreciated.
Royce Fessenden
White Knight Software <http://www.whiteknightsw.com/> www.WhiteKnightSw.com
417.766.1852 royce_at_[hidden]
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net