TCC的使用以使用第三方库为例子,例子包括:OpenGL , GMP以及SDL等。
1.TCC使用GLUT
去OpenGL下载http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip。
若无法下载,可以去我的网盘下载glutdlls37beta.zip。
另外,头文件GL.h和GLU.h可以在编译器的目录下找到。文件搜索请使用软件Everything。
将GL.h、GLU.h 、glut.h放入tcc根目录下的include/GL目录,将glut.dll放入tcc的根目录下。
使用tiny_impdef.exe根据opengl32.dll、glu32.dll、glut.dll生成opengl32.def、glu32.def、glut.def,并放入lib目录下。
glut.h配置修改:最前面追加#include <windows.h>,然后移除多余的.lib后缀。
#include <windows.h> /* ...... */ #pragma comment (lib, "winmm") /* link with Windows MultiMedia lib */ #pragma comment (lib, "opengl32") /* link with Microsoft OpenGL lib */ #pragma comment (lib, "glu32") /* link with OpenGL Utility lib */ #pragma comment (lib, "glut32") /* link with Win32 GLUT lib */
OpenGL例子glString.c测试:
1 #include <GL/glut.h> 2 #include <stdio.h> 3 4 int main(int argc, char* argv[]) 5 { 6 glutInit(&argc, argv); 7 glutCreateWindow("test"); 8 const GLubyte *VENDOR, *RENDERER, *VERSION, *EXTENSIONS; 9 VENDOR = glGetString(GL_VENDOR); 10 puts(VENDOR); 11 RENDERER = glGetString(GL_RENDERER); 12 puts(RENDERER); 13 VERSION = glGetString(GL_VERSION); 14 puts(VERSION); 15 EXTENSIONS = glGetString(GL_EXTENSIONS); 16 puts(EXTENSIONS); 17 return 0; 18 }
$ tcc -lglut -run glGetString.c
未完待续。。。。