Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: neomorphis в May 28, 2004, 13:56



Титла: GCC -- проблем с функциите
Публикувано от: neomorphis в May 28, 2004, 13:56
Имам следния проблем, и ще се радвм ако ми помогнете:
когато в кода използвам функция от друг хедърен файл ( например log10() от math.h ) компилатора( gcc ) ми изписва: undefined reference to "името на функцията". На какво може да се дължи това?


Титла: GCC -- проблем с функциите
Публикувано от: melwin в May 28, 2004, 14:03
#include "/full/path/to/math.h"


Титла: GCC -- проблем с функциите
Публикувано от: в May 28, 2004, 20:06
Пак не става! По-точно програмата, която се опитвам да компилирам е следната:

/*
 * quad.cc
 */

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <stdlib.h>

void quad()
{
        glBegin(GL_QUADS);
                glVertex2f( 0.0f, 1.0f);  // Top Left
                glVertex2f( 1.0f, 1.0f);  // Top Right
                glVertex2f( 1.0f, 0.0f);  // Bottom Right
                glVertex2f( 0.0f, 0.0f);  // Bottom Left
        glEnd();
}

void draw()
{
        
        glClearColor( 0, 0, 0, 0 );
        glClear ( GL_COLOR_BUFFER_BIT );
   
        glPushMatrix();

        glColor3f( 0, 0, 1 );
        glTranslatef(-0.5, -0.5, 0.0);
   
        quad();

        glPopMatrix();
        glutSwapBuffers();
}

void keyboard(unsigned char key,int x,int y)
{
        if(key==27) exit(0);
}


int main(int argc, char **argv)
{
        
        glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE);
        
        glutInitWindowSize( 500,500 );
        glutCreateWindow("Test");
      
        glutDisplayFunc(draw);
        glutKeyboardFunc(keyboard);
      
        glutMainLoop();
}

Като използвам следния make файл:

INCPATH = -I /usr/X11R6/include/
LIBS = -lglut -lGLU -lGL -lXi -lXmu -lX11 -lm -lpthread
LIBPATH = -L/usr/lib -L/usr/X11R6/lib/

%:%.c
   gcc $(INCPATH) $(LIBPATH) $^ $(LIBS) -o $@

%:%.cpp
   g++ $(INCPATH) $(LIBPATH) $^ $(LIBS) -o $@

%:%.cc
   g++ $(INCPATH) $(LIBPATH) $^ $(LIBS) -o $@

След като напиша в конзолата "make quad" ми изписва, че
функциите използвани в програмата не са дефинирани. Аз ли нещо бъркам?


Титла: GCC -- проблем с функциите
Публикувано от: в May 29, 2004, 22:44
Problema e v linkera. Vij kluchovete na gcc imashe neshto podobno '-m' za vkluscvaneto na math bibliotekata .