首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ubuntu9.10上构建Boost.Python示例?

如何在Ubuntu9.10上构建Boost.Python示例?
EN

Stack Overflow用户
提问于 2009-10-14 23:05:16
回答 1查看 2.6K关注 0票数 4

我使用的是Ubuntu 9.10测试版,它的存储库包含boost 1.38。我想构建hello-world示例。我按照这里的说明(http://www.boost.org/doc/libs/1_40_0/libs/python/doc/tutorial/doc/html/python/hello.html),找到了示例项目,并发出了"bjam“命令。我已经安装了bjam和boost-build。

我得到以下输出:

代码语言:javascript
复制
Jamroot:18: in modules.load
rule python-extension unknown in module Jamfile</usr/share/doc/libboost1.38-doc/examples/libs/python/example>.
/usr/share/boost-build/build/project.jam:312: in load-jamfile
/usr/share/boost-build/build/project.jam:68: in load
/usr/share/boost-build/build/project.jam:170: in project.find
/usr/share/boost-build/build-system.jam:248: in load
/usr/share/boost-build/kernel/modules.jam:261: in import
/usr/share/boost-build/kernel/bootstrap.jam:132: in boost-build
/usr/share/doc/libboost1.38-doc/examples/libs/python/example/boost-build.jam:7: in module scope

我不太了解Boost (这是我自己的一个探索性练习),无法理解为什么所包含的Jamroot中的python-extension宏是无效的。我是从安装目录运行这个示例的,所以我没有更改Jamroot的use-project设置。

作为一个次要问题,如果我只是随意地在任意目录中启动一个项目,我该如何编写我的jamroot?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-08 06:30:58

这个问题来自于使用Ubuntu包而不是从源代码编译的boost。您必须编辑您的Jamroot,使其使用全局libboost python,而不是在相对的boost源码树中查找lib。

简而言之,在Jamroot的开头应该有以下几行:

代码语言:javascript
复制
using python ;
lib libboost_python : : <name>boost_python ;
project : requirements <library>libboost_python ;

它在Debian上被报道为一个bug,并且至少在lenny上用libboost-python1.40 ...mostly进行了修正。libboost_python中的示例仍然引用boost_python-mt而不是boost_python,但是/usr/lib/libboostpython.so存在,而不是/usr/lib/libboost_python mt.so。

希望Ubuntu很快就会有同样的修复,下一位用户不会在这个问题上出错……我知道你的问题的答案,因为我不久前遇到了完全相同的问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1569490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档