[Qt-interest] Fwd: Fwd: Fwd: Fwd: qmake and staticlib issue

ami guru dosto.walla at gmail.com
Tue Apr 21 19:52:59 CEST 2009


The following snippet where the errors shows up from:

****************GLWidget.h***************



//do the forward
//declaration instead
class CameraView;
class GLRender;
class PixelArray;

  int NumLights;

  // Array of light pointers
  Light* LightArray[MAX_LIGHTS];

  int NumMaterials;       // Number of materials

  //Array of material pointers.
  Material* MatArray[MAX_MATERIALS];

  int NumObjects;         // Number of objects
  ViewableBase* ViewObj[MAX_OBJECTS];// Array of viewable object pointers


  GLRender* glDraw;

**************************************'



***************GLWidget.cpp***********
#include "GLRender.h"


void GLWidget::RenderWithGL()
{

  /*
  if ( glDraw == 0 )
    {
      // Needs to be constructed *after* glut initialized.
      glDraw = new GLRender();
    }

  // Set camera position
  glDraw->SetupCameraView( *MainView, 1.0, MAX_DIST );

  // Define all light sources
  int i;
  for ( i=0; i<NumLights; i++ )
    {
      glDraw->AddLight( *(LightArray[i]) );
    }

  glDraw->SetGlobalAmbientLight( GlobalAmbientR3 );
  glDraw->SetGlobalAmbientLight( 0.5, 0.5, 0.5 );

  // Render each ViewableObject
  for ( i=0; i< NumObjects; i++ )
    {
      glDraw->RenderViewable( *(ViewObj[i]) );
    }

  glDraw->FinishRendering();

  */
}



the commented part gives error
*****************************************


Regards
Sajjad

---------- Forwarded message ----------
From: Scott Aron Bloom <Scott.Bloom at sabgroup.com>
Date: Tue, Apr 21, 2009 at 6:52 PM
Subject: Re: [Qt-interest] Fwd: Fwd: Fwd: qmake and staticlib issue
To: qt-interest at trolltech.com


 Without seeing the code.. its hard to give a definitive answer…



However.. the compiler doesn’t pick on people… ie, its not saying.. hmm lets
mess with Sajjad, and give this error that is in theory good code…



Show the line of code the compiler is complaining about, and we might be
able to figure out what is going on…



Maybe you have a return type? Maybe it’s a non reference…



Don’t know…  But your theory is correct.. Mostly likely, your not following
it J

Scott



*From:* qt-interest-bounces at trolltech.com [mailto:
qt-interest-bounces at trolltech.com] *On Behalf Of *ami guru
*Sent:* Tuesday, April 21, 2009 6:50 AM
*To:* qt-interest at trolltech.com
*Subject:* [Qt-interest] Fwd: Fwd: Fwd: qmake and staticlib issue



If i forward declare a class then i only use the reference or pointer for
that class and we do not instantiate any object of that class.

That what  the theory says and i have used that accordingly.


In the GLWidget.h clas i have used the forward declared a class named
GLRender since i am using the pointer of its type.

In thr GLWidget.cpp file i am creating a object of GLRender with  the new
operator and there i have included the GLRender.h

It should not complain.

But it does.


Would like to know why?


Regards
Sajjad

---------- Forwarded message ----------
From: *John McClurkin* <jwm at nei.nih.gov>
Date: Tue, Apr 21, 2009 at 2:23 PM
Subject: Re: [Qt-interest] Fwd: Fwd: qmake and staticlib issue
To: qt-interest at trolltech.com

 ami guru wrote:
> Hello Farid,
>
> Thanks a lot for the feedback.
>
> I have tried the absolute path instead of the relative one and it works
> fine now.
>
>
> Now i have another error which i think will be off-topic to bring up here.
>
>
> I am getting the error saying that
>
>
> invalid use of the incomplete type.
>
> When do we have these type of error?

This usually occurs when you forward declare a class but don't include
the header.


>
>
> Regards
> Sajjad
>
> On Mon, Apr 20, 2009 at 6:35 PM, Farid Derradji
> <farid.derradji at itwm.fraunhofer.de

> <mailto:farid.derradji at itwm.fraunhofer.de>> wrote:
>
>     Hello Sajjad,
>
>     Perhaps you should first check whether your compiled libraries contain
>     all required symbols (methods):
>
>     objdump --demangle --syms libVrMath.a          > libVrMath.txt
>     objdump --demangle --syms libDataStructs.a     > libDataStructs.txt
>     objdump --demangle --syms libOpenGLRender.a    > libOpenGLRender.txt
>     objdump --demangle --syms libRaytraceMgr.a     > libRaytraceMgr.txt
>     objdump --demangle --syms libGraphics.a        > libGraphics.txt
>
>     Hereby *objdump* is a pretty useful tool of the *binutils* collection.
>     Note that you need the debug versions of your libraries if you want to
>     use Option --syms.
>
>
>     Regards
>     Farid
>
>

_______________________________________________
Qt-interest mailing list
Qt-interest at trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-interest



_______________________________________________
Qt-interest mailing list
Qt-interest at trolltech.com
http://lists.trolltech.com/mailman/listinfo/qt-interest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20090421/6a95d710/attachment.html 


More information about the Qt-interest-old mailing list