用GNU Make进行OpenGL的学习

在VC、CodeBlocks下工作久了,觉得用IDE来试验各种代码片段太过麻烦,尤其是图形学的,一大堆小项目管理起来尤其麻烦,于是决定用gmake来搞。

 

昨天晚上搞了一晚上才把gcc、ld的命令行选项、参数及它们的顺序等脾气摸熟了,陈述如下

 

1、-l选项依赖于 -L选项,-L选项指定库的搜索路径,-l指定要引入的库名,并且当你用-L指定了n个搜索路径,又用-l指定了m个库名的话,他会最懂进行nxm次库文件的搜索尝试。

 

2、-lopengl32等价于引入libopengl32.a文件,即把前面的"lib"和后面的".a"给自动省掉了。

 

3、库的引入语句必须位于源文件的后面,否则ld报错说找不到你指定的库文件,哪怕你把库文件放到编译器安装目录下的lib文件夹,ld还是说找不到,切记!

 

其他想到了再说,附Makefile:

CC = "d:/Program Files/CodeBlocks/MinGW/bin/g++.exe"
INCLUDE_DIR = "d:/Program Files/CodeBlocks/MinGW/include"
OPENGL32 = opengl32
GLU32 = glu32
GLUT = freeglut
LIB_DIR = "d:/Program Files/CodeBlocks/MinGW/lib"
terrain: Terrain.cpp
    $(CC) -o Terrain.exe Terrain.cpp -I$(INCLUDE_DIR) -L$(LIB_DIR) -l$(OPENGL32) -l$(GLU32) -l$(GLUT)

 

你可能感兴趣的:(音视频处理,makefile,项目管理,include,编译器,图形,gcc)