Linux下的编译开发

在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下主流的开发调试环境KDevelopAnjuta的使用又还不太熟悉,项目代码还是使用传统的DDD(Data Display Debugger)进行错误跟踪。总的说来,Linux下的开发过程有着独有的优势和特点,尽管有时会感觉不像Win32平台下那样便捷,但最重要的是整个开发环境都是自由软件构成,而自由软件必定也是每一位开发者被赋予灵感与动力的源泉。

转载请注明出处:工作与兴趣记录本 » Linux下的编译开发

相关文章

评论 (5)

  1. avatar
    GaoAng01-15 10:55

    各位好。
    我是高苗。


























    的朋友。
    很久没来了。
    发现更新了不少。
    原来还在GIS中。
    autodesk也有计划推一些网络图形产品。
    估计google earth 可能会有对手吧。
    是秘密计划。
    换手机了没。

  2. avatar
    GaoAng01-15 10:57

    更新太慢。rss没用。



    看ip猜猜我是谁。

  3. avatar
    GaoAng01-15 10:59

    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]

  4. avatar
    GaoAng(原版)01-15 11:44

    RSS可以订阅的啊,我就用foxmail定的,地址是:
    http://www.gaoang.com/?feed=rss2
    手机还是原来的,也猜不出是谁来啊

  5. avatar
    eric06-26 14:38

    专为嵌入式 gis开发的矢量渲染库发布linux版本。http://picasso-graphic.googlecode.com/files/picasso-0.8_pre_alpha.tar.bz2