![]() |
Blitz Support : |
From: Julian C. Cummings (cummings_at_[hidden])
Date: 2003-11-24 17:54:58
Hi David,
Try undefining the macro BZ_MATH_FN_IN_NAMESPACE_STD in your
<blitz/config.h> file.
The problem is that the configure script used to generate config.h for
cygwin g++ is not appropriate
for MSVC 6.0. So you will have to edit the config.h file by hand. Even
with this change, blitz may
not function properly under MSVC 6.0. I know blitz compiles under MS VS.NET
2003, and there is
a config.h file provided for this compiler, but I'm not sure if older MS
compilers can be made to work.
Regards, Julian C.
Dr. Julian C. Cummings
Staff Scientist, CACR/Caltech
(626) 395-2543
cummings_at_[hidden]
-----Original Message-----
From: blitz-support-bounces_at_[hidden]
[mailto:blitz-support-bounces_at_[hidden]] On Behalf Of David Smith
Sent: Monday, November 24, 2003 1:16 PM
To: blitz-support_at_[hidden]
Subject: [Blitz-support] Compiling Blitz programs with Intel compiler, MSVC
6.0
I wrote a program utilizing Blitz, and it compiled and ran just dandy on my
Wintel PC using Cygwin/g++. But I need to integrate it into our group's
projects, which use MSVC 6.0. I installed Intel's 30-day trial compiler and
gave it a try. It gives me a lot of error messages like this:
Compiling...
slab.cpp
C:\SRC\BLITZ++-0.7\blitz/mathfunc.h(45): error: namespace "std" has no
member "labs"
{ return BZ_MATHFN_SCOPE(labs)((long)x); }
^
detected during instantiation of class "blitz::_bz_abs<long>" at
line 55
C:\SRC\BLITZ++-0.7\blitz/mathfunc.h(65): error: namespace "std" has no
member "fabs"
{ return BZ_MATHFN_SCOPE(fabs)((float)x); }
^
...
detected during instantiation of class
"blitz::_bz_tanh<std::complex<long double>>" at line 2700
C:\SRC\BLITZ++-0.7\blitz/funcs.h(449): error: no instance of function
template "std::abs" matches the argument list
argument types are: (blitz::Fn_abs<int>::T_numtype1)
{ return BZ_MATHFN_SCOPE(abs)(a); }
What do I need to do to cure this? My program compiled and ran OK under
Cygwin even before I ran automake / make to set up the library.
My program starts out with
#include "stdafx.h"
#include <blitz/array.h>
#include <blitz/tinyvec-et.h>
#include <blitz/vecwhere.h> // for 'where' function
As a matter of fact, I get the same complaints from the compiler if these
#includes are the only thing in my source file.
David Smith
_____
Do you Yahoo!?
Free <http://us.rd.yahoo.com/slv/mailtag/*http://companion.yahoo.com/>
Pop-Up Blocker - Get it now