[vsipl++] Compile problems with reference implementation and gnu 3.4.5

Schnetzer, Everett eschnetz at harris.com
Wed Oct 10 16:58:16 UTC 2007


 
Stefan Seefeld wrote:

> As I can't reproduce this with my (Linux-based) version of GCC 3.4.5,
and
> since this looks like a C++ frontend issue, rather than a
platform-specific
> problem, I'm tempted to believe that the cause is related to your
writing
> your own Makefile for tests/ref-impl/.

The problem was in the Makefile, in that it did not have the following
compile def's:

-DVSIP_IMPL_PAR_SERVICE=0
-DVSIP_IMPL_HAVE_CVSIP=1
-DVSIP_IMPL_CVSIP_HAVE_FLOAT=1
-DVSIP_IMPL_CVSIP_HAVE_DOUBLE=1
-DVSIP_IMPL_CVSIP_FFT=1
-DVSIP_IMPL_FFT_USE_FLOAT=1
-DVSIP_IMPL_FFT_USE_DOUBLE=1
-DVSIP_IMPL_FFT_USE_LONG_DOUBLE=1
-DVSIP_IMPL_PROVIDE_FFT_FLOAT=1
-DVSIP_IMPL_PROVIDE_FFT_DOUBLE=1
-DVSIP_IMPL_PROVIDE_FFT_LONG_DOUBLE=0

They were in the GNUmakefile produced by the configuration script. I
would have expected these to be in acconfig.hpp. For our port to MinGW,
I manually put them in acconfig.hpp so application Makefiles/build
scripts don't have to define them.

Another problem was discovered if we include windows.h before the
vsipl++ include files. This file is part of the MinGW distribution and
is the main header for the Win32 API. Some other file that windows.h
includes confuses some of the vsipl++ template instantiations. I didn't
track down who the culprit was, but defining WIN32_LEAN_AND_MEAN is a
work-around. Otherwise an application has to make sure all relevant
vsipl++ .hpp files are brought in before windows.h.

That seems to be it, though. The reference implementation tests now work
in our MinGW environment.

Thanks,

Everett Schnetzer
Software Engineer, Harris GCSD
eschnetz at harris.com
321-727-6607




More information about the vsipl++ mailing list