FileGDB API for linux 学习系列之二,编译Display例子程序
2011-03-01 13:33
561 查看
FileGDBAPI for linux,一共提供了9个例子程序,分别是
Display Editing FeatureDatasets TableSchema Domains ExecutingSQL GeodatabaseManagement
Querying XMLsamples
其中除了第一个例子Display外,其它的例子不需要额外的库支持就可以编译运行,Display程序由于需要显示图形,因此需要
安装一些额外的opengl的库才能运行,这些额外的库包括:
libGL-devel(32bit)库
libGLU-devel(32bit)库
freeglut(32bit)库
以下是具体步骤:
1. 安装libGL-devl库:
3. 安装freeglut-devel 库
生成的可执行文件存放在:
samples/bin目录中,运行./Display,其效果如下:
在windows上面,通过xmanager工具也可以运行该程序,但是必须使用刚刚推出的xmanger 4版本才可以,具体如下:
Display Editing FeatureDatasets TableSchema Domains ExecutingSQL GeodatabaseManagement
Querying XMLsamples
其中除了第一个例子Display外,其它的例子不需要额外的库支持就可以编译运行,Display程序由于需要显示图形,因此需要
安装一些额外的opengl的库才能运行,这些额外的库包括:
libGL-devel(32bit)库
libGLU-devel(32bit)库
freeglut(32bit)库
以下是具体步骤:
1. 安装libGL-devl库:
192.168.100.228 [root Server]$ rpm -ivh mesa-libGL-devel-6.5.1-7.8.el5.i386.rpm warning: mesa-libGL-devel-6.5.1-7.8.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] package mesa-libGL-devel-6.5.1-7.8.el5.i386 is already installed
2. 安装libGLU-devel(库)
192.168.100.228 [root Server]$ rpm -ivh mesa-libGLU-devel-6.5.1-7.8.el5.i386.rpm warning: mesa-libGLU-devel-6.5.1-7.8.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] package mesa-libGLU-devel-6.5.1-7.8.el5.i386 is already installed
3. 安装freeglut-devel 库
192.168.100.228 [root Server]$ rpm -ivh freeglut-devel-2.4.0-7.1.el5.i386.rpm warning: freeglut-devel-2.4.0-7.1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] package freeglut-devel-2.4.0-7.1.el5.i386 is already installed
修改Display/Makefile其中的内容,如下:
include ../../lib/make.include CC=$(CC) CXX=$(CX) CXXFLAGS=$(CFLAGS) CFLAGS+=-W -fexceptions -fno-inline -D_CONSOLE $(CXDEF) -I "../../src/FileGDBEngine/include/FileGDBLinux" -I "../../include" -I "/usr/include/GL" $(CXOTHER) LD=$(CXX) $(CXXFLAGS) LDFLAGS+= -L../../lib LIBS+= -lFileGDBAPI -lX11 -lXmu -lGL -lGLU -lglut ifndef TARGET TARGET=../bin/Display endif .PHONY: all all: $(TARGET) %.o: %.cpp $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< SOURCE_FILES= / ./Display.cpp HEADER_FILES= / SRCS=$(SOURCE_FILES) $(HEADER_FILES) OBJS=$(SOURCE_FILES:.cpp=.o) $(TARGET): $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
.PHONY: clean clean: -rm -f -v $(OBJS) $(TARGET)
然后运行make命令进行编译:
192.168.100.228 [sde Display]$ make g++ -fPIC -O2 -m32 -W -fexceptions -fno-inline -D_CONSOLE -DUNICODE -D_UNICODE -DLINUX -D_REENTRANT -DFILEGDB_API -D__USE_FILE_OFFSET64 -DLINUX_FILEGDB_API -I "../../src/FileGDBEngine/include/FileGDBLinux" -I "../../include" -I "/usr/include/GL" -I. -c Display.cpp Display.cpp:222:2: 警告:文件未以空白行结束 g++ -fPIC -O2 -m32 -W -fexceptions -fno-inline -D_CONSOLE -DUNICODE -D_UNICODE -DLINUX -D_REENTRANT -DFILEGDB_API -D__USE_FILE_OFFSET64 -DLINUX_FILEGDB_API -I "../../src/FileGDBEngine/include/FileGDBLinux" -I "../../include" -I "/usr/include/GL" -I. -m32 -L../../lib -o ../bin/Display ./Display.o -lFileGDBAPI -lX11 -lXmu -lGL -lGLU -lglut
生成的可执行文件存放在:
samples/bin目录中,运行./Display,其效果如下:
在windows上面,通过xmanager工具也可以运行该程序,但是必须使用刚刚推出的xmanger 4版本才可以,具体如下:
相关文章推荐
- FileGDB API for linux 学习系列之一,编译例子程序
- FileGDB API for linux学习系列之三,检索目录树
- FileGDB API for linux 学习系列之六,对象的创建
- FileGDB API for linux 学习系列之四,XML Schema of Geodatabase
- FileGDB API for linux 学习之七,数据的查询
- FileGDB API for linux学习之八,空间数据解析库
- linux下编译C程序——gdb简单调试
- Irrlicht for android 学习之二: 再编译
- 在Linux下生成GUID的程序,及编译错误 “uuid/uuid.h: No such file or directory” 的解决办法。
- 64位linux下编译32位程序的错误“error: gnu/stubs-32.h: No such file or directory”
- (一)OpenCV学习笔记——Linux下编译运行opencv程序
- [技术学习]在Linux平台学习Windows开发技术(一)----编译第一个MFC程序
- arcgis api for js共享干货系列之二自定义Navigation控件样式风格
- 【AS400系列】通过程序例子说明检查AS400用户密码的API-QSYGETPH
- linux下c程序编译过程及GCC,G++, GDB简介
- Building GDB and GDBserver for cross debugging / Linux下交叉编译gdb和gdbserver
- Berkeley DB Xml 入门系列之二: 在Linux下编译和使用Berkeley DB Xml
- 【AS400系列】通过程序例子说明检查AS400用户密码的API-QSYGETPH
- 【Linux学习】GDB程序调试
- Linux学习(十二):gcc编译和gdb调试