FileGDB AIP for linux年后已经发布一段时间了,功能还是很强大的,其一共包括6个文件夹以及一个README文件,如下所示:
192.168.100.228 [sde filegdbapi]$ ls doc include lib license README samples src
其中
doc: 包括所有的帮助信息,
include: 包括所有的头文件
lib: 包括所有的库文件
license: 包括一些license信息
README:包括详细的介绍信息
samples: 包括例子信息
src: 包括GNU的一些源代码
可以使用下面的方法来编译例子程序:
使用samples/Makefile文件来进行编译,默认的情况是编译32bit的release版本。
编译命令为:
192.168.100.228 [sde samples]$ make make -C Domains make[1]: Entering directory `/home/sde/filegdbapi/samples/Domains' 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. -c Domains.cpp 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. -m32 -L"../../lib" -o ../bin/Domains ./Domains.o -lFileGDBAPI make[1]: Leaving directory `/home/sde/filegdbapi/samples/Domains' make -C Editing make[1]: Entering directory `/home/sde/filegdbapi/samples/Editing' 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. -c Editing.cpp 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. -m32 -L ../../lib -o ../bin/Editing ./Editing.o -lFileGDBAPI make[1]: Leaving directory `/home/sde/filegdbapi/samples/Editing' make -C ExecutingSQL make[1]: Entering directory `/home/sde/filegdbapi/samples/ExecutingSQL' 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. -c ExecutingSQL.cpp 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. -m32 -L ../../lib -o ../bin/ExecutingSQL ./ExecutingSQL.o -lFileGDBAPI make[1]: Leaving directory `/home/sde/filegdbapi/samples/ExecutingSQL' make -C FeatureDatasets make[1]: Entering directory `/home/sde/filegdbapi/samples/FeatureDatasets' 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. -c FeatureDatasets.cpp 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. -m32 -L ../../lib -o ../bin/FeatureDatasets ./FeatureDatasets.o -lFileGDBAPI make[1]: Leaving directory `/home/sde/filegdbapi/samples/FeatureDatasets' make -C GeodatabaseManagement make[1]: Entering directory `/home/sde/filegdbapi/samples/GeodatabaseManagement' 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. -c GeodatabaseManagement.cpp 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. -m32 -L../../lib -o ../bin/GeodatabaseManagement ./GeodatabaseManagement.o -lFileGDBAPI make[1]: Leaving directory `/home/sde/filegdbapi/samples/GeodatabaseManagement' make -C Querying make[1]: Entering directory `/home/sde/filegdbapi/samples/Querying' 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. -c Querying.cpp 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. -m32 -L ../../lib -o ../bin/Querying ./Querying.o -lFileGDBAPI make[1]: Leaving directory `/home/sde/filegdbapi/samples/Querying' make -C TableSchema make[1]: Entering directory `/home/sde/filegdbapi/samples/TableSchema' 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. -c TableSchema.cpp 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. -m32 -L../../lib -o ../bin/TableSchema ./TableSchema.o -lFileGDBAPI make[1]: Leaving directory `/home/sde/filegdbapi/samples/TableSchema' 编译完后的可执行文件,存放在sample/bin目录下。 如果想调试程序,需要将例子程序编译成debug版本,可以通过修改lib/make.include文件来进行,使用vi打开该文件,在第一行中 添加上CFG=DEBUG即可。 调试程序,只能是用gdb来进行了,具体如何使用gdb可以查看相关帮助。