• [转]linux下编译boost.python


    转自:http://blog.csdn.net/gong_xucheng/article/details/25045407 

    linux下编译boost.python

    最近项目使用c++操作python脚本,选用boost.python库。在window下编译安装很顺利,但是在linux下一直编译不通过,总是提示找不到头文件。linux版本为rhel5.7。后来询问同事,原来是同事将原来系统自带的python2.4删除掉了,然后手动编译安装了python3.3。

    换到另外一台机器,重新下载boost,使用以下命令,顺利编译成功

    [cpp] view plain copy
     
    1. ./bootstrap.sh --with-python=/usr/bin/python  
    2. ./bjam --build-type=minimal --with-python variant=release link=static threading=multi address-model=64 --debug-configurations install  

    说明:生成bjam工具的时候要增加with-python参数同时指定python可执行程序的路径,具体参数可以运行./bootstrap --help查看

    这样编译出来的库是链接python2.4生成的库,至于为什么自己安装的3.3编译不成功,原因还有待查找,

    为什么会报 No best alternative for /python_for_extensions错误。

    --------------------------------------------------------------------------------------------

    2014/5/5 19:15补充:

    针对自定义的版本,要使用以下命令编译 

    [cpp] view plain copy
     
    1. ./b2 --with-python include="/usr/local/python3.3.5/include/python3.3m/"  


    通过include参数指定自定义版本的python包含路径。上述命令同样会报No best alternative for /python_for_extensions估计是多个版本的python引起的。

    这里要使用b2进行编译,据说b2是第二个版本的bjam,以后不要使用bjam了

    另外自行编译python的时候最好要编译动态库

    [cpp] view plain copy
     
    1. ./configure --prefix=/usr/local/python3.3.5  --enable-shared   
    2. make && make install   


    切记,linux不要删除系统自带的python。rhel5.7删除以后yum都不好用了 很悲剧

  • 相关阅读:
    最近正在计划编写一个麻将游戏
    连连看.NET v1.2版下载
    C#中使用指针转换数据类型[C#/unsafe]
    转载: 中国大部分程序员的通病
    C#休闲作品【连连看】开发心得与作品下载
    "连连看"算法笔记
    一个新游戏的思路;大家来说说看,觉得好的话,我做成游戏
    一个新游戏完成情况
    游戏演示(包含源码)[名称待定]
    Mzone 2.0换卡记
  • 原文地址:https://www.cnblogs.com/xuyuan77/p/8361068.html
Copyright © 2020-2023  润新知