Ben yürütülebilir yapmaya çalışıyorum bu hatayı alıyorum, kod hata mesajını almak doğru ve henüz derler Linux Mint 13 çalıştıran ve bunu, ben bu yüzden tanesini birlikte kesmek onlar hakkında çok fazla bilmiyorum benim makefile bir ilgisi olduğunu düşünüyorum ve bazı kod çevrimiçi bulundu:tanımsız başvuru Ben makyaj komutunu vurduğunda OpenGL
GL_INCLUDE = /usr/X11R6/include
GL_LIB = /usr/X11R6/lib
GL_GLEW = /user/include
helloworld: helloworld.o
gcc -o hello-gl $^ -L$(GL_LIB) -lGL -lglut -lGLEW -lm
.c.o:
gcc -c -o [email protected] $< -I$(GL_INCLUDE)
clean:
rm -f hello-gl hello-gl-dummy hello-gl.o util.o hello-gl-dummy.o
benim kod:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <GL/glew.h>
#include <GL/freeglut.h>
#define WINDOW_TITLE_PREFIX "Hello, World!"
int CurrentWidth = 600,
CurrentHeight = 400,
WindowHandle = 0;
void Initialize(int, char*[]);
void InitWindow(int, char*[]);
void ResizeFunction(int, int);
void RenderFunction(void);
int main(int argc, char* argv[])
{
Initialize(argc, argv);
glutMainLoop();
exit(EXIT_SUCCESS);
return 0;
}
void Initialize(int argc, char* argv[])
{
GLenum GlewInitResult;
InitWindow(argc, argv);
GlewInitResult = GlewInit();
if (GLEW_OK != GlewInitResult) {
fprintf(stderr, "ERROR: %s\n", glewGetErrorString(GlewInitResult));
exit(EXIT_FAILURE);
}
fprintf(
stdout,
"INFO: OpenGL Version: %s\n",
glGetString(GL_VERSION)
);
glClearColor(0.2f, 1.0f, 0.8f, 0.3f);
}
void InitWindow(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitContextVersion(4, 0);
glutInitContextFlags(GLUT_FORWARD_COMPATIBLE);
glutInitContextProfile(GLUT_CORE_PROFILE);
glutSetOption(
GLUT_ACTION_ON_WINDOW_CLOSE,
GLUT_ACTION_GLUTMAINLOOP_RETURNS
);
glutInitWindowSize(CurrentWidth, CurrentHeight);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
char *states[] = {"Hello", "My", "Name", "Is", "Lewis"};
WindowHandle = glutCreateWindow(WINDOW_TITLE_PREFIX);
if(WindowHandle < 1) {
fprintf(
stderr,
"KERN_ERROR: Could not create a new rendering window.\n"
);
exit(EXIT_FAILURE);
}
glutReshapeFunc(ResizeFunction);
glutDisplayFunc(RenderFunction);
}
void ResizeFunction(int Width, int Height)
{
/*captures the resize data from the OS and assigns it to the global
variable CURRENT_WIDTH & CURRENT_HEIGHT */
CurrentWidth = Width;
CurrentHeight = Height;
glViewport(0, 0, CurrentWidth, CurrentHeight);
}
void RenderFunction(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/*the next line takes the data from the back-buffer to the screen */
glutSwapBuffers();
glutPostRedisplay();
}
+1 bu hat için: gcc -o merhaba-gl helloworld.o -L/usr/X11R6/lib-lGL -lglut -lGLEW -lm Bu bana yardımcı oldu :) – rendon
@DDC Makefile size yardımcı oldu sevindim :) – TheBlueCat