首页 > 代码库 > Tcc学习笔记(三) 使用举例

Tcc学习笔记(三) 使用举例

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 }
View Code
$ tcc -lglut -run glGetString.c

未完待续。。。。

Tcc学习笔记(三) 使用举例