Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15775
  • 博文数量: 4
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-11 11:24
文章分类

全部博文(4)

文章存档

2015年(4)

我的朋友

分类: PERL

2015-04-01 16:04:17

因为工作中需要使用到graph的一些理论,需要对有向图进行遍历,考虑了两个选择,一个是使用perl的graph包,一个是使用基于boost库的boost::graph,但是后者在编译安装时报错,我分别在suse11sp3+gcc43,sp3+gcc44,前一个可以正常安装,后一个报错,但是因为我们的生产环境上还需要gcc44,所以好像有矛盾而不可能解决。不能使用yast安装libboost-graph,那个也有冲突。
后来问了一下google,发现有类似的问题,说是boost::graph使用了boost的c语言类,但是版本过低,是1.3.3的,而这个在高版本的gcc上不能编译通过。
看了一下boost::graph的那个包,其中有一个boost的,猜它就是内嵌的boost,下载boost1.5.7,安装其中的graph,但是又提示部分h文件有问题,看了一下头文件的时间,大约都是06年的,这个肯定与新的boost不相符合,再猜想一下。在网上的问题答复中说,,这个地址中有比较新的一个版本,名字是Boost-Graph-master,下来发现,大小很小,而且没有boost这个目录,正好把boost1.5.7编译的结果放进去,编译通过。太佩服自己了。
boost1.5.7的编译比较简单,
./bootstrap.sh --with-libraries=graph
如果
./bootstrap.sh
是编译所有的包,这个我们用不着那么多。
- atomic                   : building
    - chrono                   : building
    - container                : building
    - context                  : building
    - coroutine                : building
    - date_time                : building
    - exception                : building
    - filesystem               : building
    - graph                    : not building
    - graph_parallel           : building
    - iostreams                : building
    - locale                   : building
    - log                      : building
    - math                     : building
    - mpi                      : building
    - program_options          : building
    - python                   : building
    - random                   : building
    - regex                    : building
    - serialization            : building
    - signals                  : building
    - system                   : building
    - test                     : building
    - thread                   : building
    - timer                    : building
    - wave                     : building
然后使用:
./b2
其中graph_parallel 和graph都需要编译一下。   
./bootstrap.sh --with-libraries=graph_parallel
然后将boost1.5.7下的boost目录复制到Boost-Graph-master目录下,并在这个目录中开始安装
perl Makefile.PL
make
make install
有warning,但是没有关系。测试通过。cpan上的那个模块,就不要安装了。

 

阅读(1018) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~