FileGDB API for linux 学习系列之二,编译Display例子程序

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库:

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,其效果如下:

image

在windows上面,通过xmanager工具也可以运行该程序,但是必须使用刚刚推出的xmanger 4版本才可以,具体如下:

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值