Parminder Kaur - 2004-06-24

Hi,
Does anybody know whether it++ is supported with Visual C++ 6.0. I complied it++ ver 3.7.2 with Cygwin, it went fine. But when I run this very simple console application (code below):

----------------------
#include "stdafx.h"
#include"stdlib.h"
#include"math.h"
#include"malloc.h"

#include "itbase.h"
using std::cout;
using std::endl;
using namespace itpp;

int main(int argc, char* argv[])
{
    printf("Hello World!\n");
    return 0;
}
-------------------------

I get the following errors:

-------------------------
testit.cpp
c:\it++3.7.2\include\itconfig.h(65) : error C2995: '<<' : template function has already been defined
        c:\program files\microsoft visual studio\vc98\include\complex(345) : see declaration of '<<'
c:\it++3.7.2\include\base\scalfunc.h(117) : error C2784: 'class std::complex<_Ty> __cdecl std::log(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\elmatfunc.h(52) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(57) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(62) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double,double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(65) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double,double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(68) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double,double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(71) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double,double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(86) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(88) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(99) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(101) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(151) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(153) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(155) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(157) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(159) : error C2039: 'tan' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(161) : error C2039: 'tan' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(161) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(163) : error C2039: 'asin' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(165) : error C2039: 'asin' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(165) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(167) : error C2039: 'acos' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(169) : error C2039: 'acos' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(169) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(171) : error C2039: 'atan' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(173) : error C2039: 'atan' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(173) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(186) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(188) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(190) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(192) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(194) : error C2039: 'tanh' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(196) : error C2039: 'tanh' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(196) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(217) : error C2039: 'ceil' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(219) : error C2039: 'ceil' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(219) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(221) : error C2039: 'floor' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(223) : error C2039: 'floor' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(223) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(236) : error C2039: 'fabs' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(238) : error C2039: 'fabs' : is not a member of 'std'
c:\it++3.7.2\include\base\elmatfunc.h(253) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\elmatfunc.h(255) : error C2440: 'type cast' : cannot convert from '' to 'double (__cdecl *)(double)'
        None of the functions with this name in scope match the target type
c:\it++3.7.2\include\base\random.h(737) : error C2784: 'class std::complex<_Ty> __cdecl std::log(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(737) : error C2784: 'class std::complex<_Ty> __cdecl std::cos(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(739) : error C2784: 'class std::complex<_Ty> __cdecl std::log(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(739) : error C2784: 'class std::complex<_Ty> __cdecl std::sin(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(751) : error C2784: 'class std::complex<_Ty> __cdecl std::log(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(761) : error C2784: 'class std::complex<_Ty> __cdecl std::log(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(761) : error C2784: 'class std::complex<_Ty> __cdecl std::cos(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(762) : error C2784: 'class std::complex<_Ty> __cdecl std::log(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(762) : error C2784: 'class std::complex<_Ty> __cdecl std::sin(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(775) : error C2784: 'class std::complex<_Ty> __cdecl std::sqrt(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(779) : error C2784: 'class std::complex<_Ty> __cdecl std::log(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(779) : error C2784: 'class std::complex<_Ty> __cdecl std::cos(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(780) : error C2784: 'class std::complex<_Ty> __cdecl std::log(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
c:\it++3.7.2\include\base\random.h(780) : error C2784: 'class std::complex<_Ty> __cdecl std::sin(const class std::complex<_Ty> &)' : could not deduce template argument for 'const class std::complex<_Ty> &' from 'double'
Error executing cl.exe.

testit.exe - 59 error(s), 0 warning(s)

---------------------------------

Can anybody suggest whats wrong? Also, in the installation instrutions, its mentioned that file "itplusplus_debug.lib" is to  be added in additional dependecies, where do I find this file? I do have the final output file called libit++.a which was generated while compiling IT++ & making using Cygwin. How do I get to .lib file. I also have other lib files of like liblapack.a, the extension isnt lib though. How do I use them in the studio environment? Is ".a" a valid lib extension in VC?

I'd really appreciate your help.

Thanks,
Parminder