使用 Bjam for Boost.Python 包含系统库

2024-01-07

这可能是一个非常基本的问题,但我无法在任何地方找到解决方案。我正在使用 Boost.Python 在 C++ 中构建 Python 扩展,并且需要将我的项目与 libpcap 链接,但我指定的任何内容似乎都无法将 bjam 指向正确的位置。 Pcap 目前已安装到 /usr/local/include (OS X 10.9),我可以使用 XCode、Make 或任何其他构建系统导入它。然而,当我尝试运行 bjam 时,它给出了链接器错误“架构 x86_64 的未定义符号”。

通过将其他源文件添加到 python 扩展定义中,我克服了第一轮链接器错误,但显然不能对外部库执行相同的操作。这是我的 bjam 文件(从他们的示例中复制并稍作修改):

import python ;

if ! [ python.configured ]
{
    ECHO "notice: no Python configured in user-config.jam" ;
    ECHO "notice: will use default configuration" ;
    using python ;
}

use-project boost : ../../../Downloads/boost_1_55_0 ;

# Set up the project-wide requirements that everything uses the
# boost_python library from the project whose global ID is
# /boost/python.
project
  : requirements 
          <library>/boost/python//boost_python 
          <implicit-dependency>/boost//headers 
  : usage-requirements <implicit-dependency>/boost//headers 
  ;

python-extension pcap_ext : PacketWarrior/pcap_ext.cc PacketWarrior/PacketEngine.h PacketWarrior/PacketEngine.cc PacketWarrior/Packet.h ;

# Put the extension and Boost.Python DLL in the current directory, so
# that running script by hand works.
install convenient_copy 
  : pcap_ext
  : <install-dependencies>on <install-type>SHARED_LIB <install-type>PYTHON_EXTENSION 
    <location>. 
  ;

# A little "rule" (function) to clean up the syntax of declaring tests
# of these extension modules.
local rule run-test ( test-name : sources + )
{
    import testing ;
    testing.make-test run-pyd : $(sources) : : $(test-name) ;
}

# Declare test targets
run-test pcap : pcap_ext pcap.py ;

我确信它只是在项目需求中添加了一些东西,但语法让我困惑,并且没有任何变化<libary>我发现 [0] 似乎有效。我尝试寻找将 llibpcap 标志传递给 GCC 的等效项,但无济于事。非常感谢任何指导!

[0] - https://wiki.python.org/moin/boost.python/BuildingExtensions https://wiki.python.org/moin/boost.python/BuildingExtensions


弄清楚了。当需要动态库时,我试图链接到标头路径。我将其添加到需求规则中,bjam 能够正确编译它。

<library>/usr/lib/libpcap.dylib
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Bjam for Boost.Python 包含系统库 的相关文章

随机推荐

  • 我必须压缩 PNG 文件图像,而不损失质量

    我想压缩 PNG 图像 以减小其大小 但质量应保持不变 我尝试过压缩JPEG图片 图片压缩约 90 质量保持不变 但当我用它压缩 PNG 图像时 没有结果 就没有压缩 尺寸相同 这是我的代码 public const string Stat
  • 如何使用流将大文件压缩到 blob 中

    我将 Azure 与 blob 存储和 Azure Functions 结合使用 我有很多文件 有时我想生成一个 zip 将其保存在存储中并生成一个链接 由于我的 zip 可能很大 1 或 2 Go 我想 即时 执行此操作 这意味着在保存之
  • 如何在 Node.js + Express + Mongoose + Jade 中处理表单验证,尤其是嵌套模型的验证

    您如何使用 Express 和 Mongoose 处理表单验证 您使用的是自定义方法 某些插件还是默认错误数组 虽然我可能会看到使用默认错误数组进行一些非常简单的验证 但在具有嵌套模型的情况下 这种方法似乎会崩溃 我个人使用节点验证器 ht
  • 我们什么时候应该在 php Phalcon 中使用多模块结构(而不​​是简单结构)

    我们什么时候应该在 php Phalcon 中使用多模块结构 而不 是简单结构 我发现了一些多模块骨架 例如 https github com ovr phalcon module sculpture https github com ov
  • Xcode 6 在提交存档时崩溃

    今天 我成功地将我的第一个应用程序的第一个版本上传到 App Store 进行 beta 测试 进行一些更改后 当我尝试再次提交新存档时 Xcode 崩溃了 并且仍然崩溃 这是日志 Process Xcode 36810 Path Appl
  • Java 编程新手 - Javac 问题 [已关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我是 Java 编程新手 正在尝试编译 Java 源文件 但当我输入 javac Welcome java 时 我不断收到以下消息
  • IE6 PNG 透明 CSS hack 不起作用

    我环顾四周 决定使用 CSS 方法而不是依赖 JS 我认为那些坚持使用 IE6 的企业用户也可能被 IT 部门禁用了 JS 所以在我的 HTML 中我有
  • 如何将 nginx 和 Gunicorn 配置文件包含在 Digital Ocean 的源代码管理中?

    我在 Digital Ocean Droplet 上运行 Gunicorn 和 nginx 我面临的问题是这些服务的配置文件位于 etc nginx sites enabled django and etc init gunicorn co
  • 如何在 VBA 中编辑以阅读模式打开的 Word 文档

    我正在使用 VBA 编辑从客户处获得的 Word 文档 客户经常以 不可编辑的视图 将它们提供给我 因此 我想在执行任务之前在宏中 启用编辑 请注意 我并没有说该文档处于 只读 状态 因为我不认为它是 只读 状态 我没有看到 read on
  • strstr() 的参数计数错误

    我已经使用帖子 GUID 和帖子标题在 WordPress 中构建了一个导航菜单 我只获取标题的一部分 为此我正在执行以下操作 casestudylist li class subnav a href strstr v gt post ti
  • asp.net mvc - 为博客实现“自动完成”标签选择?

    我正在开发一个供我自己使用的博客系统 并且想要实现自动完成标签选择 类似于 stackoverflow 我将如何实现这样的东西 任何示例或教程链接将不胜感激 Thanks 在这里查看我的问题Jquery 使用 json 自动完成 id 与显
  • 根据键将列表中的项目添加到现有字典中

    假设我有这本字典 它使用id num作为钥匙 1665845 Person 1665845 stuff 1294919 Person 1294919 stuff 我还有另一个列表 其中包含包含 Id num date data 计数的列表
  • 创建数据对象数组的数组?

    我有一个数据对象 我也有这些数据对象的数组 我想将这些数据对象数组放入另一个数组中 Dim ArrayOfDataObjects1 10 as new DataObject Dim ArrayOfDataObjects2 10 as new
  • ASP.NET MVC [正则表达式] 属性在整个字符串匹配时不起作用

    我似乎无法在 Stack Overflow 上找到与此相关的类似主题 所以这里是 为什么当我针对 ASP NET MVC 视图模型类指定以下定义时 Required RegularExpression A d 3 4 Z ErrorMess
  • Jersey 客户端不遵循重定向

    我的 用户 资源定义如下 Path api users public class UserResource POST Consumes MediaType APPLICATION JSON public Response addUser U
  • 可利用的Python函数[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这个问题类似于可利用的 PHP 函数 https stackoverflow com questions 3115559 exploi
  • 多次函数调用后保持变量的生命周期?

    假设 def myfunc x my list list append x 是否有关键字可以阻止变量 my list 被重新分配 假设 NA 是关键字 def myfunc x NA listv list append x 以这种方式 该行
  • resource_stall.other 可能意味着什么

    Whiskey Lake i7 8565U The RESOURCE STALLS OTHER英特尔文档看起来并没有很好地解释 计算由于其他原因而停止执行时的周期数 资源问题 我在一个内存副本的例子上进行了实验16MiB循环中随机生成的数据
  • 加载静态数据到Ext.data.TreeStore

    我可以加载一些静态数据吗Ext data TreeStore实例 对于 Ext data Store 来说非常简单 我们所要做的 就是添加数据参数 http docs sencha com ext js 4 0 api Ext data S
  • 使用 Bjam for Boost.Python 包含系统库

    这可能是一个非常基本的问题 但我无法在任何地方找到解决方案 我正在使用 Boost Python 在 C 中构建 Python 扩展 并且需要将我的项目与 libpcap 链接 但我指定的任何内容似乎都无法将 bjam 指向正确的位置 Pc