征集C/C++各大库的编译方法

积木 2006-03-25 03:20:58
如今C/C++库可以说是比比皆是,Boost ACE-TAO GTK QT wxWindows等等等等。
但是一些让人眼花缭乱的配置却把一些新人拒之门外。
今天发贴征集各大库的编译和配置方法。
库的种类不限,编译库的环境不限,编译器不限。
但是大家在写编译配置方法的时候尽量的详细一点。
最后这份文档将总结成一份FAQ,
并且加到精华区。
请各位多多捧场:)
让我们一起进步!
...全文
1867 52 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
双杯献酒 2006-07-06
  • 打赏
  • 举报
回复
GZ
SC
stan_uni 2006-07-06
  • 打赏
  • 举报
回复
mark
ahao 2006-07-04
  • 打赏
  • 举报
回复
谁能编译成功svn?那个似乎很麻烦
pottichu 2006-06-29
  • 打赏
  • 举报
回复
我转的:
在如下的库支持下,开发的系统可以很方便移植到当前大部分平台上运行
而无需改动,只需在对应的平台下 用你喜欢的编译器 重新编译即可
经典的C++库
   STLport-------SGI STL库的跨平台可移植版本,在以前有些编译器离符合
         标准比较远的情况下 那时还是有用的,当然目前vc71已经比较接近标准了,
         故目前不怎么用它了。
   Boost---------准标准库, 功能强大 涉及能想的到的大部分非特别领域的算法,
         有一个大的C++社区支持
   WxWindows-----功能强大的跨平台GUI库  ,它的功能和结构都类似 MFC,故原则上
      可以通过WxWindows把现有MFC程序移植到非Win平台下
   Blitz---------高效率的数值计算函数库 ,你可以订制补充你需要的算法
   Log4cpp-------日志处理  ,功能类似java中的log4j
   ACE-----------自适应通讯环境, 重量级的通讯环境库。
   Crypto++ -----加/解密算法库, 非常专业的C++ 密码学函式库
   CppUnit  ---  一个c++的单元测试框架  类似 java  的JUnit
   Loki -------  一个实验性质的库,尝试把类似设计模式这样思想层面的东西通过
        库来提供,他是C++的一个模板库,系C++"贵族", 它把C++模板的功能发挥到了极致
学术性的C++库:
   FC++ --------The Functional C++ Library  ,用库来扩充语言的一个代表作 ,模板库
   CGAL ------- Computational Geometry Algorithms Library计算几何方面的大部分重要的
     解决方案和方法以C++库的形式提供给工业和学术界的用户。

其它目前我感觉还不是很爽的C++库: 
   Doxygen  ----注释文档生成工具 ,可恨的是 我找不到 windows版本
   QT ----------大名顶顶的一个多平台的C++图形用户界面应用程序框架(GUI库)
          可气的是他的 Windows版 是商业发布的要付费
   xml4c--------IBM开发的XML Parser,系超重量级的, 适用大型应用中, 其DLL有 12M,恐怖吧
   Xerces c++ --Apache的XML项目, 但 只支持少数的字符编码,如ASCII,UTF-8,UTF-16等,
           不能处理包含中文字符的XML文档
   XMLBooster -----  也是一种  XML的 解析工具
   Fox   -------又一种开放源代码(C++)的GUI库,功能不是很强

C++开发环境(Win平台下除了 Visual C++ 和 Borland C++以外的):
   Cygwin  --------Windows下的一个Unix仿真环境
   MinGW   --------GCC的一个Windows移植版本
   Dev C++ -------- 一个C/C++ 的集成开发环境,在Windows上的C++编译器一直和标准有着一
        段距离的时候,GCC就是一个让Windows下开发者流口水的编译器。
   Eclipse-CDT  ----IMB 开发的一个集成开发环境,一般用来作为Java 开发环境,但由于
         Eclipse 是通过插件体系来扩展功能,这里我们 安装 CDT插件后,就可以用来作为
         C++ 的集成开发环境

-----------------------------------------------------------------------------------------
经典的C++库
-----------------------------------------------------------------------------------------
以下以 vc71环境 为例,其他环境 见各软件包的说明文档。
1.  STLport (SGI STL库的跨平台可移植版本。)
    -------http://www.stlport.org

vc71环境中编译安装
 版本:STLport-4.6.2.tar.gz
 copy vc71.mak makefile
 nmake clean all
头文件在 %STLport_root%/include\stlport
库文件在 %STLport_root%/lib
头文件添加方法如:
#i nclude   需要链接lib库

2  WxWindows  (跨平台的GUI库)
       --------http://www.wxwindows.org
       --------http://sourceforge.net/projects/wxwindows
       --------http://i18n.linux.net.cn/others/wxWindowstut/wxTutorial.html
  因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的功能。
通过多年的开发也是一个日趋完善的GUI库,支持同样不弱于前面两个库。并且是完全开放源代码的。新近
的C++ Builder X的GUI设计器就是基于这个库的。

vc71环境中编译安装
  版本:wxMSW-2.6.0-Setup.exe
  copy makefile.vc makefile
  通过 配置 config.vc 的 SHARED = 0 和 BUILD = debug
  确定 nmake clean all 的四种编译结果:
include头文件: include\wx
Lib库文件:  lib\vc_dll  和 lib\vc_lib
DLL: lib\vc_dll
头文件在 %wxWidgets_root%/include\wx
库文件在 %wxWidgets_root%/lib\vc_dll  和 %wxWidgets_root%/lib\vc_lib
头文件添加方法如:
#i nclude   需要链接lib库
3   boost  (“准”标准库)
   ------http://www.boost.org/
   ------http://sourceforge.net/projects/boost/
    Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程
的发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人
。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。
vc71环境中编译安装
  版本:boost_1_32_0.exe
首先进入 tools\build\jam_src 运行 build.bat  得到一个工具: bjam.exe
将其复制到 boost_root 目录下
执行 bjam "-sTOOLS=vc-7_1" stage 开始编译  (bjam "-sTOOLS=vc-7_1" install)
头文件在 %boost_root%/boost
库文件在 %boost_root%/stage\lib
头文件添加方法如:
#i nclude   有时要链接lib库

Boost中比较有名气的有这么几个库:
Regex
正则表达式库
Spirit
LL parser framework,用C++代码直接表达EBNF
Graph
图组件和算法
Lambda
在调用的地方定义短小匿名的函数对象,很实用的functional功能
concept check
检查泛型编程中的concept
Mpl
用模板实现的元编程框架
Thread
可移植的C++多线程库
Python
把C++类和函数映射到Python之中
Pool
内存池管理
smart_ptr
    5个智能指针,学习智能指针必读,一份不错的参考是来自CUJ的文章:
Smart Pointers in Boost,哦,这篇文章可以查到,CUJ是提供在线浏览的。
    Boost总体来说是实用价值很高,质量很高的库。并且由于其对跨平台的强调,对标准C++的
强调,是编写平台无关,现代C++的开发者必备的工具。但是Boost中也有很多是实验性质的东西,
在实际的开发中实用需要谨慎。并且很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精
巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,
结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。
3   blitz  (高效率的数值计算函数库)
   ------http://folk.uio.no/patricg/blitz/html/index.html
   ------http://www.oonumerics.org/blitz/
   ------http://sourceforge.net/projects/blitz/
Blitz++ 是一个高效率的数值计算函数库,它的设计目的是希望建立一套既具像C++ 一样方便,同时
又比Fortran速度更快的数值计算环境。通常,用C++所写出的数值程序,比 Fortran慢20%左右,因
此Blitz++正是要改掉这个缺点。方法是利用C++的template技术,程序执行甚至可以比Fortran更快。
Blitz++目前仍在发展中,对于常见的SVD,FFTs,QMRES等常见的线性代数方法并不提供,不过使用
者可以很容易地利用Blitz++所提供的函数来构建。
vc71环境中编译安装
  版本:blitz-0.8.tar.gz
将 blitz-0.8/Blitz-VS.NET.zip 解压到当前目录下
打开 Blitz-Library.sln  编译即可
头文件在 %blitz_root%/blitz
         %blitz_root%/random
库文件在 %blitz_root%/lib    (静态库)
头文件添加方法如:
#i nclude   有时要链接lib库
#i nclude   不需要lib库
lyskyly 2006-06-29
  • 打赏
  • 举报
回复
mark
laolou_1983 2006-06-28
  • 打赏
  • 举报
回复
好东西 帮顶啊
sarh2os 2006-06-16
  • 打赏
  • 举报
回复
好帖!帮顶!
fuyer 2006-06-15
  • 打赏
  • 举报
回复
比较大的库都有build说明文档的吧,我照着做没有失败过。
crazy_lazy_pig 2006-06-11
  • 打赏
  • 举报
回复
关于wxWindows有个中国的社区的, 网址www.wxchinese.org, 还有wiki.wxchinese.org. 里面对其安装配置都有详细的解释, 我把关于wxWidgets的一个简界贴过来吧:

wxWidgets是一个开源的跨平台的C++构架库(framework),它可以提供GUI(图形用户界面)和其它工具。目前的2.x版本支持所有版本的Windows、带GTK+或Motif的Unix和MacOS。一个支持OS/2的版本正在开发中。

wxWidgets在最开始是由爱丁堡(Edinburgh)大学的人工智能应用学院开发的,主要是内部使用,而在1992年第一次公布。 2.x版本做了很大程度的改良,并且由Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik和更多其他的人所编写和维护。

wxWidgets的主体是由C++构建的,但你并不是必需通过C++才能使用wxWidgets.wxWidgets拥有许多其它语言的绑定(binding),使你在用其它语言编写程序的时候也可以使用wxWidgets.
cunsh 2006-06-06
  • 打赏
  • 举报
回复

谁讲讲在devc++中怎么安装loki啊?
吃狼的豆腐 2006-06-05
  • 打赏
  • 举报
回复
收藏先
happytang 2006-06-05
  • 打赏
  • 举报
回复
mark,先作准备
Kingxinyu 2006-06-04
  • 打赏
  • 举报
回复
mark
SwordMan2001 2006-05-28
  • 打赏
  • 举报
回复
ACE

在unix/linux下就是
设置ACE_ROOT环境变量为ACE的主目录
configure
make
make install
很顺利,没有报什么错。

在windows下ACE有VC工程编译很方便。

顺便mark。
Meuck 2006-05-25
  • 打赏
  • 举报
回复
mark
lfm09 2006-05-22
  • 打赏
  • 举报
回复
我用Code::Blocks + MinGW(GCC) + QT
Code::Blocks是完全开源的跨平台IDE,漂亮,比Dev-Cpp好用的多,自从见了它我就再也没用过Dev-Cpp;
QT是具有商业公司支持的跨平台GUI库,其开源版本是免费的,,其前途自然是无量的。界面美观,有RAD工具,易于上手、开发。Linux下大名鼎鼎的KDE就是采用的QT,在和GTK、wxWidget对比后,个人认为它是最有前途的。
lk_517 2006-05-21
  • 打赏
  • 举报
回复
俺总结原创的 vs.net 2005编译qt的方法

修改了一些目前网上流行教程中的错误。

http://likunarmstrong.googlepages.com/0012

太长了,不知道是不是需要贴在这里
giant36 2006-05-20
  • 打赏
  • 举报
回复
GZ
pottichu 2006-05-20
  • 打赏
  • 举报
回复
mark
liuquanyi 2006-05-20
  • 打赏
  • 举报
回复
关注一下!
加载更多回复(32)

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧