nel-all
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nel] Problems compiling 3d Module un VC7.1


From: g
Subject: Re: [Nel] Problems compiling 3d Module un VC7.1
Date: Wed, 01 Sep 2004 21:43:49 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.4) Gecko/20030624

Hi

I am wondering seriously if you know coding. Have you ever tried to learn what is C++ ? Or I could stop at C...
I want to make you notice the line: CPSVector<T>::V refers to the type V defined in the template class CPSVector, giving it the previously defined T type as instanciation attribute. Consequently, the _Tab keyword declares a variable of this type. If you insert a ; at the place you did, you simply make the line useless and could the same way comment it to reach your compilation errors level.
Indeed, CPSVector<T>::V; defines an unnamed variable of this type, I dunno exactly what happens internally when doing such useless thing; and _Tab;, as the error C2501 tells you, is a label used/declared without any type. If this line really matters, simply comment it.

Second, you should have read the error given before you made this useless change:
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : warning C4346: 'NL3D::CPSVector::V' : dependent name is not a type
        prefix with 'typename' to indicate a type
        X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(399) : see reference to class template instantiation 'NL3D::CPSValueGradientFunc' being compiled
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2146: syntax error : missing ';' before identifier '_Tab'

The first line tells you the that the V type (or the template, just check the typename keyword documentation) should be declared using the typename keyword. Indeed vc7.1 is more strict about the C++ standards than vc6.
Therefore you should modify the structure declaration and not the current compiling file.
As of this warning, this type is simply ignored by the compiler. That's why it considers there is a ; missing: it didn't understand it was a type but treated
it as a variable name or I dunno what.

But being unable to see this by yourself strongly gives me serious doubts about your ability to use NeL, few documented. However I wish you good luck, I think you'll need it much...

A desperated reader of your mails.

Timothy H. Schilbach a écrit :

  Merci, that seems to have done the job on the float issues. I then was getting further compiler issues in the ‘ps_attrib_maker_template.h’. It seems that line 386 had the following syntax in it:

 

                              // a table of Values that interpolate the values given

                  CPSVector<T>::V _Tab;

 

  Well upon inspection I noticed that there is a ‘;’ missing to terminate the statement. So I changed it to reflect:

 

      // a table of Values that interpolate the values given

      CPSVector<T>::V; _Tab;

 

  Once I did that, I am down to just 9 errors. W00t! This is good news as all of the errors are the same and related to this function somehow. The errors all read:

 

        ps_attrib_maker_template.h(386) : error C2501: 'NL3D::CPSValueGradientFunc::_Tab' : missing storage-class or type specifiers

        ps_attrib_maker_template.h(399) : see reference to class template instantiation 'NL3D::CPSValueGradientFunc' being compiled

 

  Ok this is good new. I am very close and as soon as I figure out this enigma, I will have the 3D module all compiled. I decided to trace down this error and it leads me too:

 

            Line 173 of the ps_allicator.h file.

 

  Ok so this is a standard structure. I have posted the structure below and I SEE the type identifier for this class. What am I missing?

 

      // Partial specialization tips for vectors

      // To define a vector of type T, one must do : CPSVector<T>::V MyVector;

      template <class T>

      struct CPSVector

      {

            typedef std::vector<T, CPSAllocator<T> > V;

      };

      // partial specialisation tips for multimap

      template <class T, class U, class Pr = std::less<T> >

      struct CPSMultiMap

      {

            typedef std::multimap<T, U, Pr, CPSAllocator<T> > M;

      };

 

  Any further assistance is greatly appreciated. I almost got this running in VC 7.1 (next is Visual Studio 2005 Beta). Thank you all once again for your support and expertise in this area.

 

 

 

Timoth H. Schilbach

Alpha Omega Design Inc.

address@hidden

Visit our website at www.aodinc.com

 


From: address@hidden [mailto:address@hidden] On Behalf Of vyas kumar sanneboyina
Sent: Sunday, August 29, 2004 9:21 AM
To: Developer's list for the NeL platform
Subject: Re: [Nel] Problems compiling 3d Module un VC7.1

 

if u want to solve this problem

           the first is  fmod u type cast this like (float) fmod((float) name , (float) name) ); it will be execute. ok

bye

"Timothy H. Schilbach" <address@hidden> wrote:

HI Everyone,

 

  I have been successful in compiling most of the tools and all of the server libraries into fully compiled applications thanks to CODEMASTERS guide. I am now having an issue compiling NEL itself in the 3D project module.

 

  Here is the error output that I get when I compile:

 

Compiling...
lod_character_shape.cpp
3d\lod_character_shape.cpp(589) : error C2666: 'fmod' : 3 overloads have similar conversions
        X:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\../include\math.h(606): could be 'long double fmod(long double,long double)'
        X:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\../include\math.h(558): or       'float fmod(float,float)'
        X:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\../include\math.h(191): or       'double fmod(double,double)'
        while trying to match the argument list '(NL3D::TGlobalAnimationTime, const float)'
vegetable_manager.cpp
3d\vegetable_manager.cpp(1821) : error C2666: 'fmod' : 3 overloads have similar conversions
        X:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\../include\math.h(606): could be 'long double fmod(long double,long double)'
        X:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\../include\math.h(558): or       'float fmod(float,float)'
        X:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\../include\math.h(191): or       'double fmod(double,double)'
        while trying to match the argument list '(double,
 float)'
ps_plane_basis_maker.cpp
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : warning C4346: 'NL3D::CPSVector::V' : dependent name is not a type
        prefix with 'typename' to indicate a type
        X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(399) : see reference to class template instantiation 'NL3D::CPSValueGradientFunc' being compiled
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2146: syntax error : missing ';' before identifier '_Tab'
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2501: 'NL3D::CPSValueGradientFunc::_Tab' : missing storage-class or type specifiers
ps_int.cpp
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : warning C4346: 'NL3D::CPSVector::V' : dependent name is not a type
        prefix with 'typename' to indicate a type
        X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(399) : see reference to class template instantiation 'NL3D::CPSValueGradientFunc' being compiled
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2146: syntax error : missing ';' before identifier '_Tab'
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2501: 'NL3D::CPSValueGradientFunc::_Tab' : missing storage-class or type specifiers
ps_float.cpp
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : warning C4346: 'NL3D::CPSVector::V' : dependent name is not a type
        prefix with 'typename' to indicate a type
        X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(399) : see reference to class template instantiation 'NL3D::CPSValueGradientFunc' being compiled
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2146: syntax error : missing ';' before identifier '_Tab'
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2501: 'NL3D::CPSValueGradientFunc::_Tab' : missing storage-class or type specifiers
ps_color.cpp
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : warning C4346: 'NL3D::CPSVector::V' : dependent name is not a type
        prefix with 'typename' to indicate a type
        X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(399) : see reference to class template instantiation
 'NL3D::CPSValueGradientFunc' being compiled
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2146: syntax error : missing ';' before identifier '_Tab'
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2501: 'NL3D::CPSValueGradientFunc::_Tab' : missing storage-class or type specifiers
ps_attrib_maker_template.cpp
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : warning C4346: 'NL3D::CPSVector::V' : dependent name is not a type
        prefix with 'typename' to indicate a type
        X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(399) : see reference to class template instantiation 'NL3D::CPSValueGradientFunc' being compiled
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2146: syntax error : missing ';' before identifier '_Tab'
X:\Downloads\NEL\Source\code\nel\src\3d\ps_attrib_maker_template.h(386) : error C2501: 'NL3D::CPSValueGradientFunc::_Tab' : missing storage-class or type specifiers
Generating Code...

 

 

I am using the following:

 

Visual C++ 7.1

Character Studio 4.1

3d Studio Max R5.1

stlPort 4.6

LibXML

Freetype2

openAL

DirectX SDK 9.0c from June 2ns (Summer) SDK.

 

  Seems that there is an issue with DirectX 9.0c? Should I back my system to the DirectX 9.0b instead? If anyone can shed some light on this for me, I would be grateful.

 

 

Timoth H. Schilbach

Alpha Omega Design Inc.

address@hidden

Visit our website at www.aodinc.com

 

 

_______________________________________________
Nel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/nel-all


Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.


_______________________________________________ Nel mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/nel-all

reply via email to

[Prev in Thread] Current Thread [Next in Thread]