2013-09-13 5 views
1

Я использую Visual Studio 2010.LNK2001 ошибка OpenGL Visual Studio 2010

И я получил это сообщение об ошибке:

Error 9 error LNK2001: unresolved external symbol __imp____glewUseProgram C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 10 error LNK2001: unresolved external symbol __imp____glewUseProgram C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 11 error LNK2001: unresolved external symbol __imp____glewGetProgramInfoLog C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 12 error LNK2001: unresolved external symbol __imp____glewGetProgramiv C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 13 error LNK2001: unresolved external symbol __imp____glewLinkProgram C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 14 error LNK2001: unresolved external symbol __imp____glewAttachShader C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 15 error LNK2001: unresolved external symbol __imp____glewGetShaderInfoLog C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 16 error LNK2001: unresolved external symbol __imp____glewGetShaderiv C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 17 error LNK2001: unresolved external symbol __imp____glewCompileShader C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 18 error LNK2001: unresolved external symbol __imp____glewShaderSource C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 19 error LNK2001: unresolved external symbol __imp____glewCreateShader C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 20 error LNK2001: unresolved external symbol __imp____glewCreateProgram C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\InitShader.obj lab22 
Error 21 error LNK2001: unresolved external symbol __imp____glewVertexAttribPointer C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 22 error LNK2001: unresolved external symbol __imp____glewEnableVertexAttribArray C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 23 error LNK2001: unresolved external symbol __imp____glewGetAttribLocation C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 24 error LNK2001: unresolved external symbol __imp____glewBufferData C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 25 error LNK2001: unresolved external symbol __imp____glewBindBuffer C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 26 error LNK2001: unresolved external symbol __imp____glewGenBuffers C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 27 error LNK2001: unresolved external symbol __imp____glewBindVertexArray C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 28 error LNK2001: unresolved external symbol __imp____glewGenVertexArrays C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 29 error LNK2019: unresolved external symbol [email protected] referenced in function _main C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 30 error LNK2001: unresolved external symbol __imp__glewExperimental C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\lab22\lab22.obj lab22 
Error 31 error LNK1120: 21 unresolved externals C:\Users\LENOVO\Desktop\Tugas\Smst5\Komgraf\lab\lab22\Debug\lab22.exe lab22 

это моя программа

#pragma comment(lib, "opengl32.lib") 
#pragma comment(lib, "glu32.lib") 
#pragma comment(lib, "glut32.lib") 

#include "include\Angel.h" 

const int NumPoints = 3; 

void 
init(void) 
{ 
// Specifiy the vertices for a triangle 
vec2 vertices[3] = { 
    vec2(-0.75, -0.75), vec2(0.0, 0.75), vec2(0.75, -0.75) 
}; 

// Create a vertex array object 
GLuint vao[1]; 
glGenVertexArrays(1, vao); 
glBindVertexArray(vao[0]); 


// Create and initialize a buffer object 
GLuint buffer; 
glGenBuffers(1, &buffer); 
glBindBuffer(GL_ARRAY_BUFFER, buffer); 
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); 

// Load shaders and use the resulting shader program 
GLuint program = InitShader("vshader21.glsl", "fshader21.glsl"); 
glUseProgram(program); 

// Initialize the vertex position attribute from the vertex shader 
GLuint loc = glGetAttribLocation(program, "vPosition"); 
    glEnableVertexAttribArray(loc); 
    glVertexAttribPointer(loc, 2, GL_FLOAT, GL_FALSE, 0, 
         BUFFER_OFFSET(0)); 

glClearColor(1.0, 1.0, 1.0, 1.0); // white background 
} 

void 
display(void) 
{ 
glClear(GL_COLOR_BUFFER_BIT);  // clear the window 
glDrawArrays(GL_TRIANGLES, 0, NumPoints); // draw the points 
glFlush(); 
} 

void 
keyboard(unsigned char key, int x, int y) 
{ 
switch (key) { 
case 033: 
    exit(EXIT_SUCCESS); 
    break; 
} 
} 

int 
main(int argc, char **argv) 
{ 
glutInit(&argc, argv); 
glutInitDisplayMode(GLUT_RGBA); 
glutInitWindowSize(512, 512); 

glutCreateWindow("Red Triangle"); 
glewExperimental=GL_TRUE; 
glewInit();  
init(); 

glutDisplayFunc(display); 
glutKeyboardFunc(keyboard); 

glutMainLoop(); 
return 0; 
} 

Я думаю, что я уже установить глют, freeglut и glew правильно, я уже редактирую мой компоновщик, но его по-прежнему ошибка. Я помещал глют, freeglut и glew папку в свой проект и в свою визуальную студию, но она все еще показывает эту ошибку. для первого проекта, который я могу скомпилировать, теперь я использую Angle.h, и он не может скомпилировать

ответ

1

Поскольку вы используете допроцессорные хаки для связи с остальными библиотеками, я полагаю, вы, вероятно, захотите это сделать:

#pragma comment(lib, "glew32.lib") 

Обычно вы будете использовать параметры проекта, чтобы настроить связанные библиотеки, но многие учебных пособий использовать директиву препроцессора, потому что избавляет от необходимости ходить пользователь через настройку проектов Visual Studio (который отличается с каждой новой версией) ,

+0

все еще не работает, такая же ошибка – user2776471