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
未完待續。。。。