LINUX.ORG.RU

Программа для OpenGL под mingw32


0

0

% --- Makefile
NAME=begin
CC=i586-mingw32msvc-gcc
LIBS=-L/usr/i586-mingw32msvc/lib -lglu32 -lglut32 -lopengl32

$(NAME): $(NAME).c
$(CC) -c -o $(NAME).obj $(NAME).c
$(CC) -o $(NAME).exe $(NAME).obj $(LIBS)
% --- begin.c
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>

void reshapeWindow(int w, int h) {
// настройка системы координат
glViewport (0,0,1024,768);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,1024,0,768);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

void drawWindow() {
// рисование
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glPointSize(5.0);
glBegin(GL_POINTS);
glVertex2i(0,0);
glVertex2i(200,200);
glEnd();
glFlush();
}

void keyWindow (unsigned char k, int x, int y) {
switch (k) {
case 0x1B : exit(0);
}
}

int main (int argc, char **argv) {
// инициализация библиотеки
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);

// создание окна
glutInitWindowPosition(0, 0);
glutInitWindowSize(1024, 768);
glutCreateWindow("begin");

// настройка обработчиков событий
glutDisplayFunc(drawWindow);
glutReshapeFunc(reshapeWindow);
glutKeyboardFunc(keyWindow);

glutMainLoop();
}
% --- END

Почему при линковке выдаются ошибки ? Что под виндой, что под Linux.
$ make
i586-mingw32msvc-gcc -c -o begin.obj begin.c
i586-mingw32msvc-gcc -o begin.exe begin.obj -L/usr/i586-mingw32msvc/lib -lglu32 -lglut32 -lopengl32
begin.obj:begin.c:(.text+0x15): undefined reference to `___glutInitWithExit@12'
begin.obj:begin.c:(.text+0x32): undefined reference to `___glutCreateWindowWithExit@8'
begin.obj:begin.c:(.text+0x4f): undefined reference to `___glutCreateMenuWithExit@8'
collect2: ld returned 1 exit status
make: *** [begin] Error 1

★★★★★
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.