﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-旅途-随笔分类-My C/C++</title><link>http://www.cppblog.com/mydriverc/category/5937.html</link><description>如果想飞得高，就该把地平线忘掉</description><language>zh-cn</language><lastBuildDate>Fri, 27 Mar 2009 14:22:51 GMT</lastBuildDate><pubDate>Fri, 27 Mar 2009 14:22:51 GMT</pubDate><ttl>60</ttl><item><title>C++开源跨平台类库集</title><link>http://www.cppblog.com/mydriverc/archive/2009/03/19/77244.html</link><dc:creator>旅途</dc:creator><author>旅途</author><pubDate>Thu, 19 Mar 2009 14:52:00 GMT</pubDate><guid>http://www.cppblog.com/mydriverc/archive/2009/03/19/77244.html</guid><wfw:comment>http://www.cppblog.com/mydriverc/comments/77244.html</wfw:comment><comments>http://www.cppblog.com/mydriverc/archive/2009/03/19/77244.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/mydriverc/comments/commentRss/77244.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/mydriverc/services/trackbacks/77244.html</trackback:ping><description><![CDATA[<div class="post">
<div class="postcontent">＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br>经典的C++库<br>&nbsp;
STLport-------SGI STL库的跨平台可移植版本，在以前有些编译器离符合<br>&nbsp; &nbsp; &nbsp; &nbsp; 标准比较远的情况下
那时还是有用的，当然目前vc71已经比较接近标准了，<br>&nbsp; &nbsp; &nbsp; &nbsp; 故目前不怎么用它了。<br>&nbsp; Boost---------准标准库， 功能强大
涉及能想的到的大部分非特别领域的算法，<br>&nbsp; &nbsp; &nbsp; &nbsp; 有一个大的C++社区支持<br>&nbsp; WxWindows-----功能强大的跨平台GUI库&nbsp;
，它的功能和结构都类似 MFC，故原则上<br>&nbsp; &nbsp; &nbsp; 可以通过WxWindows把现有MFC程序移植到非Win平台下<br>&nbsp;
Blitz---------高效率的数值计算函数库 ,你可以订制补充你需要的算法<br>&nbsp; Log4cpp-------日志处理&nbsp;
，功能类似java中的log4j<br>&nbsp; ACE-----------自适应通讯环境， 重量级的通讯环境库。<br>&nbsp; Crypto++
-----加/解密算法库, 非常专业的C++ 密码学函式库<br>&nbsp; CppUnit&nbsp; ---&nbsp; 一个c++的单元测试框架&nbsp; 类似 java&nbsp; 的JUnit
<br>&nbsp; Loki -------&nbsp; 一个实验性质的库，尝试把类似设计模式这样思想层面的东西通过<br>&nbsp; &nbsp; &nbsp; &nbsp;
库来提供,他是C++的一个模板库,系C++"贵族"， 它把C++模板的功能发挥到了极致<br><br>学术性的C++库: <br>&nbsp; FC++
--------The Functional C++ Library&nbsp; ,用库来扩充语言的一个代表作 ,模板库<br>&nbsp; CGAL -------
Computational Geometry Algorithms Library计算几何方面的大部分重要的<br>&nbsp; &nbsp;
解决方案和方法以C++库的形式提供给工业和学术界的用户。<br><br><br>其它目前我感觉还不是很爽的C++库：&nbsp; <br>&nbsp; Doxygen&nbsp;
----注释文档生成工具 ,可恨的是 我找不到 windows版本<br>&nbsp; QT
----------大名顶顶的一个多平台的C++图形用户界面应用程序框架（GUI库）<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 可气的是他的 Windows版
是商业发布的要付费<br>&nbsp; xml4c--------IBM开发的XML Parser，系超重量级的， 适用大型应用中， 其DLL有 12M，恐怖吧<br>&nbsp;
Xerces c++ --Apache的XML项目， 但 只支持少数的字符编码，如ASCII，UTF-8，UTF-16等，<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
不能处理包含中文字符的XML文档<br>&nbsp; XMLBooster -----&nbsp; 也是一种&nbsp; XML的 解析工具<br>&nbsp; Fox&nbsp;
-------又一种开放源代码（C++）的GUI库，功能不是很强<br><br><br>C++开发环境(Win平台下除了 Visual C++ 和
Borland C++以外的)：<br>&nbsp; Cygwin&nbsp; --------Windows下的一个Unix仿真环境<br>&nbsp; MinGW&nbsp;
--------GCC的一个Windows移植版本<br>&nbsp; Dev C++ -------- 一个C/C++
的集成开发环境，在Windows上的C++编译器一直和标准有着一<br>&nbsp; &nbsp; &nbsp; &nbsp;
段距离的时候，GCC就是一个让Windows下开发者流口水的编译器。<br>&nbsp; Eclipse-CDT&nbsp; ----IMB
开发的一个集成开发环境，一般用来作为Java 开发环境，但由于<br>&nbsp; &nbsp; &nbsp; &nbsp; Eclipse 是通过插件体系来扩展功能，这里我们 安装
CDT插件后，就可以用来作为<br>&nbsp; &nbsp; &nbsp; &nbsp; C++
的集成开发环境<br><br><br>-----------------------------------------------------------------------------------------<br>经典的C++库<br>-----------------------------------------------------------------------------------------<br>以下以
vc71环境 为例，其他环境 见各软件包的说明文档。<br><br>1.&nbsp; STLport (SGI STL库的跨平台可移植版本。) <br>&nbsp; &nbsp;
-------http://www.stlport.org<br><br><br>vc71环境中编译安装<br>版本：STLport-4.6.2.tar.gz<br>copy
vc71.mak makefile<br>nmake clean all<br><br>头文件在
%STLport_root%/include\stlport<br>库文件在 %STLport_root%/lib<br><br>头文件添加方法如：<br>＃i
nclude&nbsp; 需要链接lib库<br><br><br><br><br>2&nbsp; WxWindows&nbsp; (跨平台的GUI库)<br>&nbsp; &nbsp; &nbsp;
--------http://www.wxwindows.org<br>&nbsp; &nbsp; &nbsp;
--------http://sourceforge.net/projects/wxwindows<br>&nbsp; &nbsp; &nbsp;
--------http://i18n.linux.net.cn/others/wxWindowstut/wxTutorial.html<br><br>&nbsp;
因为其类层次极像MFC，所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的功能。<br>通过多年的开发也是一个日趋完善的GUI库，支持同样不弱于前面两个库。并且是完全开放源代码的。新近<br>的C++
Builder X的GUI设计器就是基于这个库的。<br><br><br>vc71环境中编译安装<br>&nbsp;
版本：wxMSW-2.6.0-Setup.exe<br>&nbsp; copy makefile.vc makefile<br>&nbsp; 通过 配置 config.vc 的
SHARED = 0 和 BUILD = debug<br>&nbsp; 确定 nmake clean all 的四种编译结果：<br><br>include头文件：
include\wx<br>Lib库文件:&nbsp; lib\vc_dll&nbsp; 和 lib\vc_lib<br>DLL: lib\vc_dll <br><br>头文件在
%wxWidgets_root%/include\wx<br>库文件在 %wxWidgets_root%/lib\vc_dll&nbsp; 和
%wxWidgets_root%/lib\vc_lib<br><br>头文件添加方法如：<br>＃i nclude&nbsp;
需要链接lib库<br><br><br><br>3&nbsp; boost&nbsp; (&#8220;准&#8221;标准库)<br>&nbsp; ------http://www.boost.org/<br>&nbsp;
------http://sourceforge.net/projects/boost/<br><br>&nbsp; &nbsp;
Boost库是一个经过千锤百炼、可移植、提供源代码的C++库，作为标准库的后备，是C++标准化进程<br>的发动机之一。
Boost库由C++标准委员会库工作组成员发起，在C++社区中影响甚大，其成员已近2000人<br>。
Boost库为我们带来了最新、最酷、最实用的技术，是不折不扣的&#8220;准&#8221;标准库。<br><br>vc71环境中编译安装<br>&nbsp;
版本：boost_1_32_0.exe<br><br>首先进入 tools\build\jam_src 运行 build.bat&nbsp; 得到一个工具：
bjam.exe<br>将其复制到 boost_root 目录下<br>执行 bjam "-sTOOLS=vc-7_1" stage 开始编译&nbsp; （bjam
"-sTOOLS=vc-7_1" install）<br><br><br><br>头文件在 %boost_root%/boost<br>库文件在
%boost_root%/stage\lib <br><br>头文件添加方法如：<br>＃i nclude&nbsp;
有时要链接lib库<br><br><br>Boost中比较有名气的有这么几个库：<br>Regex<br>正则表达式库<br>Spirit<br>LL
parser
framework，用C++代码直接表达EBNF<br>Graph<br>图组件和算法<br>Lambda<br>在调用的地方定义短小匿名的函数对象，很实用的functional功能<br>concept
check<br>检查泛型编程中的concept<br>Mpl<br>用模板实现的元编程框架<br>Thread<br>可移植的C++多线程库<br>Python<br>把C++类和函数映射到Python之中<br>Pool<br>内存池管理<br>smart_ptr<br>&nbsp;
&nbsp; 5个智能指针，学习智能指针必读，一份不错的参考是来自CUJ的文章：<br>Smart Pointers in
Boost,哦，这篇文章可以查到，CUJ是提供在线浏览的。<br><br>&nbsp; &nbsp;
Boost总体来说是实用价值很高，质量很高的库。并且由于其对跨平台的强调，对标准C++的<br>强调，是编写平台无关，现代C++的开发者必备的工具。但是Boost中也有很多是实验性质的东西，<br>在实际的开发中实用需要谨慎。并且很多Boost中的库功能堪称对语言功能的扩展，其构造用尽精<br>巧的手法，不要贸然的花费时间研读。Boost另外一面，比如Graph这样的库则是具有工业强度，<br>结构良好，非常值得研读的精品代码，并且也可以放心的在产品代码中多多利用。<br><br><br><br>3&nbsp;
blitz&nbsp; (高效率的数值计算函数库) <br>&nbsp;
------http://folk.uio.no/patricg/blitz/html/index.html<br>&nbsp;
------http://www.oonumerics.org/blitz/<br>&nbsp;
------http://sourceforge.net/projects/blitz/<br><br>Blitz++
是一个高效率的数值计算函数库，它的设计目的是希望建立一套既具像C++
一样方便，同时<br>又比Fortran速度更快的数值计算环境。通常，用C++所写出的数值程序，比
Fortran慢20%左右，因<br>此Blitz++正是要改掉这个缺点。方法是利用C++的template技术，程序执行甚至可以比Fortran更快。<br>Blitz++目前仍在发展中，对于常见的SVD，FFTs，QMRES等常见的线性代数方法并不提供，不过使用<br>者可以很容易地利用Blitz++所提供的函数来构建。<br><br>vc71环境中编译安装<br>&nbsp;
版本：blitz-0.8.tar.gz<br><br>将 blitz-0.8/Blitz-VS.NET.zip 解压到当前目录下<br>打开
Blitz-Library.sln&nbsp; 编译即可<br><br>头文件在 %blitz_root%/blitz<br>&nbsp; &nbsp; &nbsp; &nbsp;
%blitz_root%/random<br>库文件在 %blitz_root%/lib&nbsp; &nbsp; （静态库）<br><br>头文件添加方法如：<br>＃i
nclude&nbsp; 有时要链接lib库<br>＃i nclude&nbsp; 不需要lib库<br><br><br><br><br>4&nbsp; log4cpp&nbsp;
(日志处理)<br>&nbsp; &nbsp; -------http://sourceforge.net/projects/log4cpp/<br>&nbsp; &nbsp;
-------http://log4cpp.hora-obscura.de/index.php/Main_Page<br><br><br>&nbsp; Log4cpp 是
Log4J 的 C++ 移植版本，开放源代码并且完全免费。与 Log4J 能够跨平台一样，Log4cpp <br>也致力于写出跨平台的 C++
程序。Log4cpp 主要是用于 C++ 程序中写 log 文件，与此同时，Log4cpp 中<br>有很多有用的类库，对于写跨平台 C++
程序的人来说，可以直接拿来用，或者作为自己写跨平台类的参考。<br>&nbsp; Log4cpp 中的跨平台类库有明显的 Java 痕迹，比如 Class、Object
、Loader、Locale 等类。 Log4cpp<br>中的类都可以根据类名 new 出一个 instance，其实现的方式和 MFC 如出一辙：通过
C++ 强大的宏来实现。<br>&nbsp; Log4cpp 中的跨平台类库主要有:<br>&nbsp; &nbsp; &nbsp; &nbsp;
信号类：Condition（broadcast，signal，wait），CriticalSection
（lock，unlock），WaitAccess，<br>&nbsp; &nbsp; Event（set，reset，wait），Mutex（lock，unlock），
Semaphore（wait，tryWait，post）<br>&nbsp; &nbsp; &nbsp; &nbsp;
网络类：InetAddress，Socket，ServerSocket，DatagramSocket，SocketInputStream，<br>&nbsp; &nbsp;
SocketOutputStream<br>&nbsp; &nbsp; &nbsp; &nbsp;
日期类：DateFormat，DateTimeDateFormat，System（currentTimeMillis）<br>&nbsp; &nbsp; &nbsp; &nbsp;
文件类：FileWatchdog（doOnChange）<br>&nbsp; &nbsp; &nbsp; &nbsp; 内存操作类：基于引用计数机制的智能指针 ObjectPtrT<br>&nbsp; &nbsp; &nbsp;
&nbsp;
字符串操作类：StrictMath，StringHelper（toUpperCase，toLowerCase，trim，equalsIgnoreCase<br>&nbsp;
&nbsp; ，endsWith，format），StringTokenizer<br>&nbsp; &nbsp; &nbsp; &nbsp; 线程类：Thread（start，run，join）<br>&nbsp; &nbsp;
&nbsp; <br>&nbsp; 使用以上的类不用考虑 thread handle, event handle, socket handle 之类的 handle
问题，所有这些文<br>件已经被封装了。很好用，对不对？<br>&nbsp; 不足之处在于没有 GUI 类。ANSI C++
中对于目录等文件系统的处理功能较弱，这里面也没有目录处理类。<br>另外 Socket 的 read(void * buf, size_t len) 不能设置
timeout，并且如果读取数据个数小于 len 那么 <br>read 函数将一直堵塞，不太好用，很可惜。实际的使用上面，可以考虑做一个 Socket
子类，重写 read() 函数。<br><br><br>vc71环境中编译安装<br>&nbsp; 版本：log4cpp-0.3.5rc1.tar.gz<br><br>&nbsp;
打开 msvc6&nbsp; 编译即可<br><br>头文件在 %log4cpp_root%/include\log4cpp<br>库文件在
%log4cpp_root%/lib<br><br>头文件添加方法如：<br>＃i nclude&nbsp; 需要链接lib库<br><br><br>5&nbsp;
Crypto++&nbsp; 加/解密算法库<br>&nbsp; ---http://sourceforge.net/projects/cryptopp/<br>&nbsp;
---http://www.eskimo.com/~weidai/cryptlib.html<br>&nbsp;
---http://www.cryptopp.com<br><br>&nbsp;
提供处理密码，消息验证，单向hash，公匙加密系统等功能的免费库。<br>Crypto++ 是一个非常专业的C++
密码学函式库，几乎在密码学里头常见的演算法都可以在Crypto++ <br>找到实作的函式，如：block 与stream&nbsp; ciphers，hash
functions，MACs，random number generators，<br>public key
加密...等方法<br><br>vc71环境中编译安装<br>&nbsp; 版本：cryptopp521.zip<br><br>直接通过 cryptest.dsw
相关的库<br><br>头文件在 %cryptopp_root%<br>库文件在
%cryptopp_root%/lib<br><br>头文件添加方法如：<br>＃i nclude &lt;*.h&gt;&nbsp;
需要链接lib库<br><br>6&nbsp; ACE<br><br>&nbsp; &nbsp;
------http://www.cs.wustl.edu/~schmidt/ACE.html<br><br>&nbsp; &nbsp; C+
+库的代表，超重量级的网络通信开发框架。ACE自适配通信环境（Adaptive Communication
Environment）<br>是可以自由使用、开放源代码的面向对象框架，在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组<br>丰富的可复用C++
包装外观（Wrapper
Facade）和框架组件，可跨越多种平台完成通用的通信软件任务，其中包括：<br>事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动<br>态（重）配置、并发执行和同步，等等。<br><br>7.
CppUnit<br>&nbsp; &nbsp;
-------http://sourceforge.net/projects/cppuint/<br><br>　　一个c++的单元测试框架，可以通过派生测试类的方式，定制具体的测试方案。xUnit家族的一员，<br>从JUnit移植而来，JUnit是Java语言的单元测试框架。<br><br>vc71环境中编译安装<br>&nbsp;
版本：cppunit-1.10.2.tar.gz<br><br>直接通过 CppUnitLibraries.dsw&nbsp; 编译相关的库<br><br>头文件在
%cppunit_root%/cppunit<br>库文件在 %cppunit_root%/lib<br><br>头文件添加方法如：<br>＃i nclude&nbsp;
需要链接lib库<br><br>8&nbsp; &nbsp; Loki<br>&nbsp; &nbsp; &nbsp; -----http://moderncppdesign.com<br>&nbsp; &nbsp; &nbsp;
-----http://sourceforge.net/projects/loki-lib/<br>&nbsp; &nbsp; &nbsp;
-----http://sourceforge.net/projects/loki-exp/<br><br>&nbsp; &nbsp;
其实可和Boost一起介绍它，一个实验性质的库。作者在loki中把C++模板的功能发<br>挥到了极致。并且尝试把类似设计模式这样思想层面的东西通过库来提供。同时还提供<br>了智能指针这样比较实用的功能。<br><br>&nbsp;
该库系模板库，库本身无需编译，在你的工程文件中 引用头文件就可以使用，<br>如果 你直接或间接使用了small object，那你需要在你的工程文件 加上
SmallObj.cpp<br>如果 你直接或间接使用了Singletons，那你需要在你的工程文件 加上
Singleton.cpp<br><br><br><br>-----------------------------------------------------------------------------------------<br>学术性的C++库:<br>-----------------------------------------------------------------------------------------<br>1&nbsp;
&nbsp; FC++: The Functional C++ Library<br>&nbsp; &nbsp;
--------http://www.cc.gatech.edu/~yannis/fc++/<br><br>&nbsp;
这个库提供了一些函数式语言中才有的要素。属于用库来扩充语言的一个代表作。如果想要在OOP之外寻找另<br>一分的乐趣，可以去看看函数式程序设计的世界。大师Peter
Norvig在 &#8220;Teach Yourself Programming in <br>Ten
Years&#8221;一文中就将函数式语言列为至少应当学习的6类编程语言之一。<br><br>&nbsp; 当前版本：FC++.1.5.zip<br>&nbsp; &nbsp; 模板库,在实际工程中
，加上要用的头文件 就可以编译。<br><br>2&nbsp; &nbsp; CGAL<br>&nbsp; &nbsp; &nbsp; -----http://www.cgal.org<br><br>&nbsp; &nbsp;
Computational Geometry Algorithms
Library的目的是把在计算几何方面的大部分重要的解决方案和方<br>法以C++库的形式提供给工业和学术界的用户。<br><br>&nbsp; &nbsp;
当前版本：CGAL-3.1.zip<br>&nbsp; 这是一个已编译的版本，当然也包括完整的源码<br><br>头文件在
%CGAL_root%/include/CGAL<br>库文件在 %CGAL_root%/lib/msvc7<br><br>头文件添加方法如：<br>＃i
nclude&nbsp;
需要链接lib库<br><br><br><br><br><br><br><br>-----------------------------------------------------------------------------------------<br>其它目前我感觉还不是很爽的C++库：<br>-----------------------------------------------------------------------------------------<br>1&nbsp;
Doxygen<br>&nbsp; &nbsp; ------http://sourceforge.net/projects/doxygen/<br>&nbsp; &nbsp;
------http://www.stack.nl/~dimitri/doxygen/<br><br>　　注释文档生成工具，较之Doc++功能更为齐全，可以生成包括HTML、PDF、RTF在内的多种格式的文档，<br>并有GUI界面，除了支持c/c++语言外，还支持IDL、java、PHP、c#等。<br><br><br>2、&nbsp;
QT(windows版要付钱) <br>&nbsp; &nbsp; -------http://www.trolltech.com/<br>&nbsp; &nbsp;
-------http://www.qiliang.net/qt.html<br><br>&nbsp;
Qt是Trolltech公司的一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形<br>用户界面所需的所用功能。Qt是完全面向对象的很容易扩展，并且允许真正地组件编程。自从1996年早些时候，<br>Qt进入商业领域，它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE
<br>的基础，同时它还支持Windows、Macintosh、Unix/X11等多种平台。<br><br><br>3、Fox<br>&nbsp;
---------http://www.fox-toolkit.org/<br>&nbsp;
开放源代码的GUI库。作者从自己亲身的开发经验中得出了一个理想的GUI库应该是什么样子的感受<br>出发，从而开始了对这个库的开发。有兴趣的可以尝试一下。<br><br><br>4&nbsp;
xml4c<br>&nbsp; &nbsp; ------http://www.alphaworks.ibm.com/tech/xml4c<br><br>　　IBM的XML
Parser，用c++语言写就，功能超级强大。号称支持多达100种字符编码，能够支持中文，<br>适合于大规模的xml应用。若只是很小范围的应用，则非最佳选择，毕竟，你需要&#8220;背负&#8221;约12M左右的<br>dll的沉重负担<br><br>5&nbsp;
&nbsp; Xerces c++<br>&nbsp; &nbsp; &nbsp;
-------http://xml.apache.org/xerces-c<br><br>　　Apache的XML项目，同样是c++
实现，来源于IBM的xml4c，因此编程接口也是和xml4c一致的。但是<br>目前只支持少数的字符编码，如ASCII，UTF-8，UTF-16等，不能处理包含中文字符的XML文档。<br>&nbsp;
Xerces-C++ 是一个非常健壮的XML解析器，它提供了验证，以及SAX和DOM API。XML验证在文档类型定<br>义(Document Type
Definition，DTD)方面有很好的支持，并且在2001年12月增加了支持W3C XML Schema <br>的基本完整的开放标准。<br><br>6&nbsp;
XMLBooster<br>&nbsp; &nbsp; &nbsp; -------http://www.xmlbooster.com/<br><br>&nbsp; &nbsp;
这个库通过产生特制的parser的办法极大的提高了XML解析的速度，并且能够产生相应的GUI程序<br>来修改这个parser。在DOM和SAX两大主流XML解析办法之外提供了另外一个可行的解决方案。<br><br><br><br>-----------------------------------------------------------------------------------------<br>C++开发环境(Win平台下除了
Visual C++ 和 Borland
C++以外的)：<br>-----------------------------------------------------------------------------------------<br><br>1.
Cygwin&nbsp; （Windows下的一个Unix仿真环境）<br>&nbsp; &nbsp;
这个Cygwin的一部分是GCC的另外一个Windows移植版本，Cygwin是Windows下的一个Unix仿真环境。<br>严格的说是模拟GNU的环境，这也就是"Gnu's
Not Unix"要表达的意思。<br><br>&nbsp; &nbsp;
至Cygwin的網站http://www.cygwin.com/下載安裝程式setup.exe，可直接點選執行或先行下載<br>至個人電腦後再執行。<br>&nbsp;
&nbsp; 目前我已经下载到本地了，直接安装即可。<br><br>2.&nbsp; MinGW&nbsp; （GCC的一个Windows移植版本）<br>&nbsp; &nbsp;
1)http://sourceforge.net/projects/mingw 直接访问的，点击
Files，然后下载以下文<br>件：MinGW-3.1.0-1.exe, mingw32-make-3.80.0-3.exe。<br>安装MinGW 到
C:/MinGW 目录下，然后安装 mingw32-make 到 C:/MinGW 下，通过浏览器<br>到 C:/MinGW/bin 下，将
mingw32-make.exe 改名或者另外复制为 make.exe。<br><br>（以上的设置已经足够。不过为了求新，我是同时下载了
gcc-core-3.4.2-20040916-1.tar.gz,<br>mingw-runtime-3.5.tar.gz 和
w32api-3.1.tar.gz，将它们直接解压到 C:/MinGW
下更新旧的<br>文件。不过这对这篇文章本身没有任何影响。新旧两种配置我都测试过。）<br><br>&nbsp; 安装次序： <br>&nbsp; &nbsp;
MinGW-3.1.0-1.exe<br>&nbsp; &nbsp; mingw32-make-3.80.0-3.exe<br>&nbsp; &nbsp;
gcc-core-3.4.2-20040916-1.tar.gz<br>&nbsp; &nbsp; mingw-runtime-3.5.tar.gz<br>&nbsp; &nbsp;
w32api-3.1.tar.gz<br>&nbsp; &nbsp; gdb-5.2.1-1.exe<br>&nbsp; &nbsp; mingw-utils-0.3.tar.gz<br>&nbsp; &nbsp;
binutils-2.15.91-20040904-1.tar.gz<br><br><br>&nbsp; 3)准备MinGW
用户开发的命令行环境（一个批处理）<br>如： mingw.bat<br>@rem
--------------------------------------<br>@SET
MINGW_ROOT=D:\Mingw<br><br>@rem<br>@echo Setting environment for using
Mingw.<br>@rem<br><br>@set PATH=%MINGW_ROOT%\BIN;%PATH%<br>@set
INCLUDE=%MINGW_ROOT%\INCLUDE;%MINGW_ROOT%\INCLUDE\c++\3.2.3;%MINGW_ROOT%\include\c++\3.2.3\mingw32;%MINGW_ROOT%\include\c++\3.2.3\backward;%INCLUDE%<br>@set
LIB=MINGW_ROOT\LIB;%LIB%<br>@rem
----------------------------------------<br><br>3. Dev C++&nbsp; （一个C/C++
的集成开发环境）<br><br>&nbsp;
GCC是一个很好的编译器。在Windows上的C++编译器一直和标准有着一段距离的时候，GCC就是一个<br>让Windows下开发者流口水的编译器。Dev-C++就是能够让GCC跑在Windows下的工具，作为集成开发环<br>境，还提供了同专业IDE相媲美的语法高亮，代码提示，调试等功能。由于使用Delphi开发，占用内存<br>少，速度很快，比较适合轻量级的学习和使用。<br><br>&nbsp;
可以使用&nbsp; MinGW-GCC 作为它的编译器 <br><br><br>4&nbsp;
Eclipse-CDT<br><br><br><br>游戏开发<br><br>Audio/Video 3D C++ Programming
Library<br><br>&nbsp; ------http://www.galacticasoftware.com/products/av/<br>&nbsp;
------http://sourceforge.net/projects/av3d/<br><br>***3D是一个跨平台，高性能的C++库。主要的特性是提供3D图形，声效支持（SB,以及S3M），控制接口（键盘，鼠标和遥感），XMS。<br><br>KlayGE<br><br>&nbsp;
------http://home.g365.net/enginedev/<br>&nbsp;
------http://sourceforge.net/projects/klayge/<br><br>&nbsp;
国内游戏开发高手自己用C++开发的一个开放源代码、跨平台的游戏引擎。KlayGE是一个开放源代码、跨平台的游戏引擎，并使<br>用Python作脚本语言。KlayGE在LGPL协议下发行。感谢龚敏敏先生为中国游戏开发事业所做出的贡献。<br><br>OGRE<br><br>&nbsp;
------http://www.ogre3d.org<br>&nbsp; ------http://www.ogre3d.org/docs/manual/<br>&nbsp;
------http://sourceforge.net/projects/ogre<br><br><br><br>&nbsp;
OGRE（面向对象的图形渲染引擎）是用C++开发的，使用灵活的面向对象3D引擎。它的目的是让开发者能更方便和直接地开发<br>基于3D硬件设备的应用程序或游戏。引擎中的类库对更底层的系统库（如：Direct3D和OpenGL）的全部使用细节进行了抽象，并提供了基于现实世界对象的接口和其它类。<br></div>
<div class="itemdesc">posted on 2007-04-27 20:48 <a  href="http://www.cppblog.com/stdyh/">dyh</a> 阅读(1695) <a  href="http://www.cppblog.com/mydriverc/admin/EditPosts.aspx#Post">评论(0)</a>
&nbsp;<a  href="http://www.cppblog.com/stdyh/admin/EditPosts.aspx?postid=23064">编辑</a>&nbsp;<a  href="http://www.cppblog.com/stdyh/AddToFavorite.aspx?id=23064">收藏</a> <a  href="http://www.cppblog.com/stdyh/services/trackbacks/23064.aspx">引用</a> 所属分类:
<a  href="http://www.cppblog.com/stdyh/category/1990.html">C++ STL</a>
</div>
</div><img src ="http://www.cppblog.com/mydriverc/aggbug/77244.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/mydriverc/" target="_blank">旅途</a> 2009-03-19 22:52 <a href="http://www.cppblog.com/mydriverc/archive/2009/03/19/77244.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>