gpt4 book ai didi

python - 在 Mac 上构建 Python 库并遇到平面命名空间错误

转载 作者:行者123 更新时间:2023-11-28 19:28:18 26 4
gpt4 key购买 nike

一般来说,每当我必须在 Mac 上构建 Python 库时,我都会后悔这些日子。我通常使用 Boost::Python 取得了相当大的成功,如果我使用 distutils,大多数时间一切正常。

但是,我一直无法弄清楚什么有效/什么无效的确切组合。具体来说,我经常遇到一个可怕的问题,即找不到符号,因为我尝试使用的库没有平面 namespace 。我试过切换到 Python 的 MacPorts 版本,然后只使用 MacPorts 库,没有骰子。

我最近遇到的问题是我需要使用的工具依赖于 OpenCV 库,而 OpenCV 库又依赖于 FFMPeg 库(实际上,两者都是)。一切都可以编译,但是当我“导入 MYLIB”时,我得到了在平面命名空间中找不到的符号 _pix_fmt_info。我执行 DYLIB_LIBRARY_PRINT 来查看所有已加载的库,果然 libavformat、libavcodec、libavutil 和 libswscale 都已加载。

所以,这是我的问题。具体问题,有没有人知道这里可能发生的事情。我需要手动构建 libffmpeg 吗?我是不是在做一些非常愚蠢的事情,比如忘记图书馆(我检查过,我不认为我是..)

更一般地说,是否有处理平面命名空间问题的好方法?我是否总是需要担心包含哪些库?有没有人有让事情正常工作的好方法?

有时候我真的很想念 Linux 的世界..


编辑


抱歉,看来这是我自己的愚蠢造成的。我还没有弄清楚确切的问题,但看起来未找到的符号属于与我不同的库(即不是 libffmpeg)。

不过,我仍然对其他人使用平面命名空间的体验感到好奇。

最佳答案

我在使用选项编译“C”python 绑定(bind)时看到了这个问题

-fvisibility=hidden parameter

在苹果系统上

我的理解是,这类似于平面命名空间问题。

关于python - 在 Mac 上构建 Python 库并遇到平面命名空间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3791289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com