[gl2ps] link problem

Shai Ayal shaiay at gmail.com
Thu Oct 12 06:41:45 CEST 2006


gl2ps has no dll/lib files. It consists of gl2ps.h and gl2ps.c

You have to add gl2ps.c to your project

Shai

On 10/11/06, Gianluca Antonelli <antonelli at unicas.it> wrote:
>
>  Hi,
>
>  I'm sorry for the very basic question about usage of the gl2ps package.
>
>  I can not link, I'm receiving an error of:
>
>  error LNK2001: unresolved external symbol
>
>  that clearly means that the linker is not finding the commands. It seems
> that I'm missing the dll and the lib files.
>
>  Below I report all the details. Thanks an advance for any reply,
>  Gianluca
>
>  I'm using Visual C++ 6.0 under WXP-PRO. Here is my main.cpp and the linker
> outout
>
>  --------------------
>  #define SizeX 600
>  #define SizeY 600
>  #define Hull_Length 5
>  #define Hull_Radius 0.5
>  #define Fore_Length 1.5
>
>
>  #include <stdio.h>
>  #include <string.h>
>  #include <gl/glut.h>
>  #include "gl2ps.h"
>
>
>  // Function Declarations
>  void Display();
>  void reshape(int w, int h);
>  void init();
>  void myPrintString(void *font,char *str);
>  void myFrame(float pos[3]);
>
>  // global variables
>  GLfloat light_pos[4] = {-1,1,1,0};
>  GLfloat frame0_pos[3] = {-3,0,0};
>  GLfloat frame1_pos[3] = {0,1.1,0};
>
>
>  /* ---------------
>     MAIN
>  --------------- */
>  void main(int argc, char** argv) {
>
>     // per gl2ps
>     FILE *fp = fopen("MyFile", "wb");
>     GLint buffsize = 0, state = GL2PS_OVERFLOW;
>     GLint viewport[4];
>     glGetIntegerv(GL_VIEWPORT, viewport);
>     // fine
>
>     glutInit(&argc, argv);
>     glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
>     glutInitWindowSize(SizeX,SizeX);
>
> glutInitWindowPosition((int)(1024-SizeX)/2,(int)(768-SizeX)/2);
>     glutCreateWindow("ciao");
>     glutReshapeFunc(reshape);
>
>     // gl2ps
>     while( state == GL2PS_OVERFLOW ){
>        buffsize += 1024*1024;
>        gl2psBeginPage ( "MyTitle", "MySoftware", viewport,
>           GL2PS_EPS, GL2PS_BSP_SORT, GL2PS_SILENT |
>           GL2PS_SIMPLE_LINE_OFFSET | GL2PS_NO_BLENDING |
>           GL2PS_OCCLUSION_CULL | GL2PS_BEST_ROOT,
>           GL_RGBA, 0, NULL, 0, 0, 0, buffsize, fp, "MyFile" );
>        glutDisplayFunc(Display);
>     state = gl2psEndPage();
>  }
>  fclose(fp);
>  // fine
>
>     init();
>     glutMainLoop();
>
>  }
>
>  /* ---------------
>  --------------- */
>  void Display() {
>
>     GLUquadricObj *mycylinder, *mysphere, *mybottom;
>     char msg[64];
>
>     // clear window
>      glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
>
>     glMatrixMode (GL_MODELVIEW);
>     glLoadIdentity();
>     gluLookAt (-1.0, 1, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
>
>     // hull/cylinder
>     mycylinder = gluNewQuadric();
>     gluQuadricDrawStyle(mycylinder, GLU_FILL);
>     glPushMatrix();
>     glTranslatef(0,0,-Hull_Length/2.0);
>
> gluCylinder(mycylinder,Hull_Radius,Hull_Radius,Hull_Length,20,10);
>     glPopMatrix();
>
>     // aft/sphere
>     mysphere = gluNewQuadric();
>     gluQuadricDrawStyle(mysphere, GLU_FILL);
>     glPushMatrix();
>     glTranslatef(0,0,Hull_Length/2.0);
>     gluSphere(mysphere,Hull_Radius,20,20);
>     glPopMatrix();
>
>     // bottom/cylinder
>     mybottom = gluNewQuadric();
>     //gluQuadricDrawStyle(mybottom, GLU_FILL);
>     gluQuadricNormals(mybottom, GLU_FLAT);
>     glPushMatrix();
>     glTranslatef(0,0,-Hull_Length/2.0-Fore_Length);
>     gluCylinder(mybottom,.1,Hull_Radius,Fore_Length,20,10);
>     glPopMatrix();
>
>     // inertial frame
>     myFrame(frame0_pos);
>
>     // body-fixed frame
>     myFrame(frame1_pos);
>
>     // text
>     glPushMatrix();
>  //   glColor3f(0,0,0);
>     sprintf(msg,"some text");
>     glRasterPos3f(0,3,0);
>     myPrintString(GLUT_BITMAP_HELVETICA_18,msg);
>     glPopMatrix();
>
>     //glFlush();
>     glutSwapBuffers();
>
>  }
>
>  /* ---------------
>  --------------- */
>  void reshape(int w, int h) {
>
>     glViewport(0, 0, w, h);
>     glMatrixMode(GL_PROJECTION);
>     glLoadIdentity();
>     glOrtho(-5.0, 5.0, -5.0, 5.0, -5.0, 5.0);
>
>  }
>
>
>  /* ---------------
>  --------------- */
>  void init() {
>
>     glClearColor(1,1,1,1);
>     glEnable(GL_DEPTH_TEST);
>     glEnable(GL_LIGHTING);
>     glEnable(GL_LIGHT0);
>     glLightfv(GL_LIGHT0, GL_POSITION, light_pos);
>  }
>
>
>  /* ---------------
>  --------------- */
>  void myPrintString(void *font,char *str) {
>
>     int i,l=strlen(str);
>
>     for(i=0;i<l;i++)
>        glutBitmapCharacter(font,*str++);
>
>  }
>
>  void myFrame(float pos[3]) {
>
>     GLUquadricObj *mycone;
>     float cone_base = 0.05;
>     float cone_high = 0.2;
>
>
>     glPushMatrix();
>     glTranslatef(pos[0],pos[1],pos[2]);
>     glBegin(GL_LINES);
>       glVertex3f(0,0,0);
>       glVertex3f(0,0,1);
>       glVertex3f(0,0,0);
>       glVertex3f(0,1,0);
>       glVertex3f(0,0,0);
>       glVertex3f(1,0,0);
>     glEnd();
>
>     // arrows heads
>     mycone = gluNewQuadric();
>     gluQuadricNormals(mycone, GLU_FLAT);
>     glPushMatrix();
>       glTranslatef(0,0,1-cone_high);
>       gluCylinder(mycone,cone_base,0,cone_high,20,10);
>     glPopMatrix();
>     glPushMatrix();
>       glTranslatef(0,1-cone_high,0);
>       glRotated(-90,1,0,0);
>       gluCylinder(mycone,cone_base,0,cone_high,20,10);
>     glPopMatrix();
>     glPushMatrix();
>       glTranslatef(1-cone_high,0,0);
>       glRotated(90,0,1,0);
>       gluCylinder(mycone,cone_base,0,cone_high,20,10);
>     glPopMatrix();
>
>     // text
>     glRasterPos3f(0,0,1.1);
>     myPrintString(GLUT_BITMAP_HELVETICA_18,"z");
>     glRasterPos3f(0,1.1,0);
>     myPrintString(GLUT_BITMAP_HELVETICA_18,"y");
>     glRasterPos3f(1.1,0,0);
>     myPrintString(GLUT_BITMAP_HELVETICA_18,"x");
>     glPopMatrix();
>
>  }
>  ---------------------------
>
>  --------------------Configuration: main - Win32
> Debug--------------------
>  Linking...
>  main.obj : error LNK2001: unresolved external symbol _gl2psEndPage
>  main.obj : error LNK2001: unresolved external symbol _gl2psBeginPage
>  Debug/main.exe : fatal error LNK1120: 2 unresolved externals
>  Error executing link.exe.
>
>  main.exe - 3 error(s), 0 warning(s)
>
>  -------------------------------
>
>
> _______________________________________________
> gl2ps mailing list
> gl2ps at geuz.org
> http://www.geuz.org/mailman/listinfo/gl2ps
>
>
>