Автор Тема: GCC -- проблем с функциите  (Прочетена 1094 пъти)

neomorphis

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

melwin

  • Напреднали
  • *****
  • Публикации: 222
    • Профил
GCC -- проблем с функциите
« Отговор #1 -: May 28, 2004, 14:03 »
#include "/full/path/to/math.h"
Активен

The second is the basic unit of time. It is the length of time taken for 9192631770 periods of vibration of the caesium-133 atom to occur.

  • Гост
GCC -- проблем с функциите
« Отговор #2 -: 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 -- проблем с функциите
« Отговор #3 -: May 29, 2004, 22:44 »
Problema e v linkera. Vij kluchovete na gcc imashe neshto podobno '-m' za vkluscvaneto na math bibliotekata .
Активен