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可以查看相关帮助。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐