Frederick,
That may well be the problem, but unfortunately I cannot change the
compiler now, because that will require me to re-compile a vxWorks binary
image and a board support package as well for our system. A bit complicated,
but if it turns out there's no option, I guess I might have to get a newer
compiler.
Peter,
Good old days I suppose.. but not so good for me now :) I did set
VCL_USE_NATIVE_STL TO 1 in the
$(VXL_SRC)/vcl/config/cmake/config/CMakeLists.txt file.
Here's that change:
SET(VCL_USE_NATIVE_STL 0) # change if no
SET(VCL_USE_NATIVE_COMPLEX 0)
SET(VCL_USE_IMPLICIT_TEMPLATES 1) # change if no
That has now thrown up a new set of errors:
cd vcl && /cygdrive/c/Tornado2.2/host/x86-win32/bin/c++ppc.exe
-DVXL_WARN_DEPRECATED -DVXL_WARN_DEPRECATED_ONCE -Wno-non-template-friend
-fimplicit-templates
-I. -IC:/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/vcl -I../core
-IC:/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/core
-IC:/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_bin/vcl
-IC:/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_bin/core -o
CMakeFiles/vcl.dir/emulation/vcl_rbtree_instances.obj
-c
/cygdrive/c/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/vcl/emulation/vcl_rbtree_instances.cxx
In file included from
/cygdrive/c/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/vcl/emulation/vcl_algobase.h:57,
from
/cygdrive/c/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/vcl/emulation/vcl_tree.h:80,
from
/cygdrive/c/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/vcl/emulation/vcl_rbtree_instances.cxx:4:
/cygdrive/c/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/vcl/emulation/vcl_functional.h:246:
parse error before `operator'
/cygdrive/c/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/vcl/emulation/vcl_functional.h:247:
parse error at null character
/cygdrive/c/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/vcl/emulation/vcl_functional.h:268:
parse error before `operator'
/cygdrive/c/Projects/RT2/vxl/vxl_8_limited/vxl_1_8_0_src/vcl/emulation/vcl_functional.h:269:
parse error at null character
The error occurs inside the file "vcl_functional.h" at these two lines:
typename result_type operator()(const argument_type& x) const { return
op(value, x); }
typename result_type operator()(const argument_type& x) const { return
op(x, value); }
The functions inside which they are found are below:
template <class Operation>
class vcl_binder1st :
public vcl_unary_function<typename
__BINARY_ARG(Operation,second_argument_type),
typename __BINARY_ARG(Operation,result_type) >
{
protected:
Operation op;
typename __BINARY_ARG(Operation,first_argument_type) value;
public:
vcl_binder1st(const Operation& x,
const typename __BINARY_ARG(Operation,first_argument_type)&
y)
: op(x), value(y) {}
typename result_type operator()(const argument_type& x) const { return
op(value, x); }
};
template <class Operation>
class vcl_binder2nd :
public vcl_unary_function<typename
__BINARY_ARG(Operation,first_argument_type),
typename __BINARY_ARG(Operation,result_type)>
{
protected:
Operation op;
typename __BINARY_ARG(Operation,second_argument_type) value;
public:
vcl_binder2nd(const Operation& x,
const typename __BINARY_ARG(Operation,second_argument_type)&
y)
: op(x), value(y) {}
typename result_type operator()(const argument_type& x) const { return
op(x, value); }
};
Is this a chronic template issue with older compilers that can be resolved
by setting some flag? (I am really hoping it is).
thanks much,
Arjun.
On Tue, Jun 23, 2009 at 1:19 PM, Wheeler, Frederick W (GE, Research) <
wheeler@...> wrote:
>
> May or may not be relevant to your current problem, but note that there
> never really was an official gcc 2.96 release ...
>
> http://gcc.gnu.org/gcc-2.96.html
>
> Fred Wheeler
>
> > -----Original Message-----
> > From: Peter Vanroose [mailto:peter_vanroose@...]
> > Sent: Tuesday, June 23, 2009 4:16 PM
> > To: Arjun
> > Cc: vxl-users@...
> > Subject: [Vxl-users] Re Trouble compiling VNL
> >
> >
> > > I am trying to (cross)compile the VXL core numerics
> > > library on an old version of gcc (gcc-2.96)
> >
> > Wow -- the good old days ;-)
> > I seem to remember that gcc 2.95 was more stable (and more
> > standards compliant) than 2.96 -- did you try 2.95 ?
> >
> > The error message is mentioning "::sort" is missing.
> > Apparently, gcc 2.96's STL is incomplete.
> > So maybe it's an option to turn off the compiler's STL and
> > use vcl/emulation instead. I believe you'll have to unset
> > VCL_USE_NATIVE_STL to achieve this.
> >
> > -- Peter.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > --
> >
> >
> >
> > __________________________________________________________
> > Går det långsamt? Skaffa dig en snabbare bredbandsuppkoppling.
> > Sök och jämför priser hos Kelkoo.
> > http://www.kelkoo.se/c-100015813-bredband.html?partnerId=96914325
> >
> > --------------------------------------------------------------
> > ----------------
> > _______________________________________________
> > Vxl-users mailing list
> > Vxl-users@...
> > https://lists.sourceforge.net/lists/listinfo/vxl-users
> >
>
|