在Linux环境下的编程实践不是很多,使用C语言开发跨平台的应用对自己来说是件有些挑战的事情,需要慢慢积累很多相关的知识和经验。
首先,程序使用跨平台的图形库,Troll Technologies公司的Qt图形库是很不错的选择。包括QGIS、Tora、Terraview等平时会用到的开源GIS项目都是使用基于Qt的图形库实现,还有大名鼎鼎的KDE桌面和Google Earth也是基于Qt构建。Linux下常用的跨平台图形库还有wxWidgets,在Gtk+或X11界面上都可以运行,Linux上流行的Gnome桌面就是基于Gtk+开发,还有日常会使用到的GIMP 和Gaim也是使用Gtk+的图形库。
Qt提供Designer设计器,可以图形化设计UI界面文件,然后导入到开发环境Visual Studio或KDevelop里面编译为本地界面代码,Qt提供的跨平台C++类库图形库,可以编译运行在Unix、Linux、Win32等多种操作系统平台之上。
在Linux环境下由于使用GCC(GNU Compiler C)编译,配置依赖函数库的Makefile文件十分重要,使用make命令编译生成动态库so文件,还需要通过Mingw进行交叉编译生成Win32平台上运行的DLL动态链接库。如果使用VC调用,还要再增加一个步骤,首先把Mingw环境下生成的DLL动态库通过编译工具Dumpbin生成DEF定义文件,再用Lib命令生成VC可以调用的LIB库文件。
MinGW即Minimalist GNU For Windows,是C++头文件和端口库的集合,在MinGW环境下可以不依赖第三方动态链接库情况下使用GCC产生Windows32 平台程序。并且MinGW允许GCC程序使用微软标准C运行时库(MSVCRT.DLL),同时还提供W32api函数库来使用Windows32 API包含的文件和端口库。与msvcrt.dll相结合,就可以充分使用CRT(C Runtime)以及Windows32 API提供的函数功能。
至于Linux下C++的集成开发环境,还没有找到很中意的选择,Eclipse+CDT的功能组合局限性较大,而Linux下主流的开发调试环境KDevelop和Anjuta的使用又还不太熟悉,项目代码还是使用传统的DDD(Data Display Debugger)进行错误跟踪。总的说来,Linux下的开发过程有着独有的优势和特点,尽管有时会感觉不像Win32平台下那样便捷,但最重要的是整个开发环境都是自由软件构成,而自由软件必定也是每一位开发者被赋予灵感与动力的源泉。
各位好。
我是高苗。
的朋友。
很久没来了。
发现更新了不少。
原来还在GIS中。
autodesk也有计划推一些网络图形产品。
估计google earth 可能会有对手吧。
是秘密计划。
换手机了没。
更新太慢。rss没用。
看ip猜猜我是谁。
There are a total of 4 用户 online now.
Out of which, there are 1 Member, 1 Guest and 2 Bots.
Most users ever online was 22 on 30th June 2006, 21:01
1 Member Online Now
#1 - GaoAng on 15.01.2007 @ 10:57
网格GIS科学实验田 » Blog Archive » Linux下的编译开发 [url]
1 Guest Online Now
#1 - Guest on 15.01.2007 @ 10:57
网格GIS科学实验田 [url]
2 Bots Online Now
#1 - Yahoo on 15.01.2007 @ 10:53
网格GIS科学实验田 » 2006 » 八月 [url]
#2 - MSN on 15.01.2007 @ 10:53
网格GIS科学实验田 » About [url]
RSS可以订阅的啊,我就用foxmail定的,地址是:
http://www.gaoang.com/?feed=rss2
手机还是原来的,也猜不出是谁来啊
专为嵌入式 gis开发的矢量渲染库发布linux版本。http://picasso-graphic.googlecode.com/files/picasso-0.8_pre_alpha.tar.bz2