我的glew库配置有问题
我使用glew32s.lib并且我不包含glew32.lib及其dll文件。(vs 2013 glew 1.13.0)
我可以按照以下方式运行我的glew测试程序。
#define GLEW_STATIC
#include <GL/glew.h>
#include <GL/glut.h>
#include <stdio.h>
void init() {
glClearColor( 1.0, 1.0, 1.0, 0.0 );
glMatrixMode( GL_PROJECTION );
gluOrtho2D( 0.0, 200.0, 0.0, 150.0 );
}
void drawLine() {
glClear( GL_COLOR_BUFFER_BIT );
glEnable( GL_LINE_STIPPLE );
GLushort patn = 0xFAFA;
glLineStipple( 3, patn );
glColor3f( 1.0, 0.0, 0.0 );
glBegin( GL_LINE_LOOP );
glVertex2i( 10, 10 );
glVertex2f( 100.0, 75.3 );
glColor3f( 0.0, 1.0, 0.0 );
glVertex2i( 70, 80 );
glEnd();
glFlush();
}
int main( int argc, char** argv ) {
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );
glutInitWindowPosition( 200, 200 );
glutInitWindowSize( 400, 300 );
glutCreateWindow( "第一个demo" );
GLenum err = glewInit();
if( err != GLEW_OK ) {
fprintf( stderr, "%s\n", glewGetErrorString( err ) );
return -1;
}
init();
glutDisplayFunc( drawLine );
glutMainLoop();
return 0;
}
但是当我尝试添加更多代码时(我尝试用cuda编写代码)并从Internet运行代码(https://github.com/mmmovania/opencloth/tree/master/bin)。
当项目只有如图所示的测试代码时,它通常会运行。当我添加cu代码时,它会出错。
然后编译器告诉:
Error 2 error LNK2019: unresolved external symbol _glewinit,referenced in function _main clothverlet
代码在这些代码中出错:
void main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
glutInitWindowSize(width, height);
glutCreateWindow("GLUT Cloth Demo [Comparing Verlet Integration on CPU, GLSL, CUDA and OpenCL]");
glutDisplayFunc(OnRender);
glutReshapeFunc(OnReshape);
glutIdleFunc(OnIdle);
glutMouseFunc(OnMouseDown);
glutMotionFunc(OnMouseMove);
glutKeyboardFunc(OnKey);
glutCloseFunc(OnShutdown);
glewInit();
InitGL();
glutMainLoop();
}
我尝试删除glewInit();然后编译器可以通过,但是当我运行程序时,它仍然在其他glew方法中出错,例如:
glcreatprogram -> glewcreatprogram
我是glew和cuda的新手。我认为这与我的cu代码有关 我提到LNK2019 glewInit,但无法获得帮助。 如果你能提供任何帮助,非常感谢!
谢谢,我发现我的项目有两个名为GL的文件夹,他们相撞了。希望我不会再犯这个错误了!