Неопределенные символы для архитектуры x86_64: "_ glutInit", на которую ссылаются из: _main в main.o / Netbeans на Mac - PullRequest
3 голосов
/ 08 мая 2011

Я новичок в OpenGL, и «моя» первая программа - это набивка Серпинского. Я использую Netbeans на своем MacBook Pro и считаю, что у меня установлены библиотеки, но, возможно, они неправильно связаны.

#include <iostream>
#include <stdio.h>
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#include <GLUT/glut.h>
#include <OpenGL/glext.h>

void myinit(){
    glClearColor(1.0,1.0,1.0,1.0);
    glColor3f(1.0,0.0,0.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(0.0,50.0,0.0,50.0);
    glMatrixMode(GL_MODELVIEW);
}

void display(){
    GLfloat vertices[3][2]={{0.0,0.0},{25.0,50.0},{50.0,0.0}};
    int i, j, k;
    int rand();
    GLfloat p[2]={7.5,5.0};
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POINTS);

    for(k=0; k<5000; k++){
        j=rand()*3;
        p[0]=(p[0]+vertices[j][0])/2.0;
        p[1]=(p[1]+vertices[j][1])/2.0;
        glVertex2fv(p);
    }

    glEnd();
    glFlush();
}


int main(int argc, char** argv) {
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(500,500);
    glutInitWindowPosition(0,0);
    glutCreateWindow("Sierpinski Gasket");
    glutDisplayFunc(display);
    myinit();
    glutMainLoop();
}

Вот ошибки компиляции:

Неопределенные символы для архитектуры x86_64:

"_ glutInit", на который ссылаются:

 _main in main.o

"_ glutInitDisplayMode", по ссылке с:

 _main in main.o

"_ glutInitWindowSize", на который ссылаются из:

 _main in main.o

"_ glutInitWindowPosition", на которую ссылаются из:

 _main in main.o

"_ glutCreateWindow", на который ссылаются из:

 _main in main.o

"_ glutDisplayFunc", на которые ссылается:

 _main in main.o

"_ glutMainLoop", ссылка с:

 _main in main.o

ld: символ (ы) не найден для архитектуры x86_64

collect2: ld вернул 1 статус выхода

make [2]: * [dist / Debug / GNU-MacOSX / sierpinski] Ошибка 1

make [1]: * [.build-conf] Ошибка 2

make: * [.build-impl] Ошибка 2

Ответы [ 2 ]

12 голосов
/ 08 мая 2011

Вам необходимо связать структуру GLUT.В Свойствах проекта> Компоновщик> Командная строка> Дополнительные параметры укажите

-framework GLUT
0 голосов
/ 18 февраля 2016

Небольшая коррекция в вашем коде:

j = rand() % 3;

, а не rand() * 3;. Это дает ошибку по очевидным причинам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...