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. 各位好。
    我是高苗。

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

  2. 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]

留下评论