Mark Helzer wrote: <snip>
So it looks like all the code has to use ansi or arm, since I have a LOT of stuff compiled in the arm mode, it would be better to build boost using the "-sBUILD=<object-model>arm" switch, however now I'm back to compile errors:
cxx: Error: /adp/local/src/boost_1_32_0/libs/program_options/build/../src/convert.cp p, line 62: #434 a reference of type "wchar_t *&" (not const-qualified) cannot be initialized with a value of type "wchar_t [32]" detected during instantiation of "std::basic_string
...
The problem here is that the name mangling scheme in the arm object model
is limited and cannot express the full scope of ISO C++. That's why we have
chosen to use the ansi object model as the default object model. A small
isolated sample that works around the problem is:
---%<---
#include <iostream>
using namespace std;
template <typename T> void foo(T const &x)
{
cout << "1" << endl;
}
template <typename T> void foo(T * const &x)
{
cout << "2" << endl;
}
int main()
{
#ifdef __MODEL_ARM
foo