对于一个库,应该有哪些东西?
我想对于不同的平台应该是不一样的,所以这些常见的库给每个平台提供不同的版本(以供下载)。
那么,一个针对windows平台的库应该有什么呢? ————头文件(.h)+链接文件(.lib+.dll)。
windows下的.a和.o文件不知道是怎么回事!?
openGL不是一个开源库,所以不会提供源代码。
在windows下,用codeblocks开发openGL程序,需要这样做:
1、下载glut-bin压缩文件。去官网。
2、解压,有4个文件。glut.h + glut32.lib + glut32.dll + glut.def文件。 其中glut.def文件不知道是干什么的。
3、将glut.h放在codeblocks\MinGW\include\GL目录下
将glut32.lib放在codeblocks\MinGW\lib目录下
将glut32.dll放在C:\window目录下
-------------------------------------------------------------------------------------------------------------------------------------------------------------
我以为这样就能通过测试了,但是不可以!
一下是我的测试程序:
#include <iostream>
#include <windows.h>
#include <GL\glut.h>
using namespace std;
void display()
{
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB| GLUT_SINGLE);
glutInitWindowSize(400, 200);
glutInitWindowPosition(0, 0);
glutCreateWindow("Hello GL");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
测试通不过!!!
显示的错误信息是:
obj\Debug\main.o||In function `glutInit_ATEXIT_HACK':|
e:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\GL\glut.h|486|undefined reference to `__glutInitWithExit@12'|
obj\Debug\main.o||In function `glutCreateWindow_ATEXIT_HACK':|
e:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\GL\glut.h|503|undefined reference to `__glutCreateWindowWithExit@8'|
obj\Debug\main.o||In function `glutCreateMenu_ATEXIT_HACK':|
e:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\GL\glut.h|549|undefined reference to `__glutCreateMenuWithExit@8'|
obj\Debug\main.o||In function `main':|
D:\pro\nimei001\main.cpp|23|undefined reference to `glutInitDisplayMode@4'|
D:\pro\nimei001\main.cpp|24|undefined reference to `glutInitWindowSize@8'|
D:\pro\nimei001\main.cpp|25|undefined reference to `glutInitWindowPosition@8'|
D:\pro\nimei001\main.cpp|28|undefined reference to `glutDisplayFunc@4'|
D:\pro\nimei001\main.cpp|29|undefined reference to `glutMainLoop@0'|
||=== 已完成构建: 8 个错误, 0 个警告 ===|
解决办法:
在codeblocks中:“设置”-》“编译器和调试器”-》“链接器设置”-》“添加”。填入你的glut32.lib文件的绝对路径。
OK!~这里这个程序能运行成功了!以后还会遇到一些问题!