GCC编译OPENGL
导师要求把以前做的场景漫游以及3DWARP算术计算移植到LINUX下。
前天导师要求把以前做的场景漫游以及3DWARP算术计算移植到LINUX下,为此这两天看了看GCC编译程序的知识,现在将一些基于用法记录下来,以免过几天忘记。
g++ -0 name name.cpp 把CPP或者 C文件编译链接成.exe文件
g++ -c name.cpp 把CPP文件或者 C文件编译成.o文件
如果需要加载外部库头文件则需要以下命令:
-I指定头文件的路径,如果 头文件不在当前目录下,会接着搜索你通过-I 设定的目录 ,如果没有设定新目录,则会接着搜索通过环境变量PAPTH及LD——LIBRARY——PATH设置的路径。设定目录的一个例子如下
g++ opengl.cpp -I F:\GccCode gl.h -o opengl
编译并链接生成当前目录opengl.cpp的.ex文件,而需要的加载的头文件gl.h的目录在F:\GccCode中(以下为在WINDOWs中使用GCC编译的结果)
如果需要加载外静态库(.lib或者.a文件)则分两种情况讲
1.加载lib 文件
如果加载lib文件为当前目录或者过环境变量PAPTH及LD——LIBRARY——PATH设置的路径下,则只需直接 引用,例子如下
g++ opengl.cpp glew32.lib -o opengl
有时可能这个命令不行,这个时候需要使用-l(这里的l为小写,-L为指定引用的外部类库的LIB文件的路径)改变glew32.lib O -lglew32 不需要指定.lib ,-l已经指定你的外部 加载 类型为lib,命令例子如下:
g++ opengl.cpp -l glew32 -o opengl
这两个命令加载外部lib 文件
LINUX下对libglu.so(lib文件)的引用 为
-lglu
如果lib文件不在当前目录下或者不在环境变量PAPTH及LD——LIBRARY——PATH设置的路径下,则需要通过-L 来指定 新的路径:
g++ opengl.cpp -L F:\GccCode -l glew32 -o opengl
2.加载.a文件
加载.a文件与,lib文件类似,但是不能使用-l 来指定,必须加.a类型
g++ opengl.cpp -L F:\GccCode libglew32.a -o opengl
且在加载 库的时候 会有一个问题,这里以glew32.lib为例 ,在将其变换为.a 文件后,会有libglew32.a和libglew32.dll.a两个类型,如果链接的是libglew32.dll.a
那么和加载 glew32.lilb没什么问题,如果 链接libglew32.a则需要在代码 文件中加上一句#define GLEW_STATIC
更多推荐
所有评论(0)