M上“导入cv”期间的“分段错误”

2024-10-03 23:30:33 发布

您现在位置:Python中文网/ 问答频道 /正文

试图从源代码在我的Mac上编译opencv。

我有以下CMakeCache.txt: http://pastebin.com/KqPHjBx0

我做ccmake ..,按c,然后g。 比我做sudo make -j8http://pastebin.com/cJyr1cEd

比我做sudo make installhttp://pastebin.com/W77syYBj

在python中生成import cv并使用这个stacktrace获得“Segmentation faul”: http://pastebin.com/gegYAK1u

我不知道有什么能帮到我,拜托。问吧,我去拿。


Tags: installtxtcomhttpmake源代码macsudo
3条回答

从日志来看,您似乎使用了MacPorts和Python2.6。

opencv将在此框架上编译:

sudo port install  opencv +python26

请确保安装了py26-numpy以支持基本功能,如cv.fromarray

sudo port install py26-numpy

意味着你的问题已经被MacPorts社区解决了。这是最新消息来源的问题吗?您编译的版本是macports使用的版本(opencv 2.2.0)。

你的问题是从源代码编译。查看链接到的端口文件,就可以找到问题所在。要查找端口文件,请执行以下操作:

port file opencv

或者直接

sudo port edit  opencv

这将列出工作openCV所需的所有配置标志。

键入:

sudo port select --set python python27

帮我修好了segfault。

我遇到了同样的情况,解决了以下步骤。

在ccmake(ccmake -G "Unix Makefiles" .)中,按t切换到高级模式。

PYTHON_LIBRARY值更改为/opt/local/lib/libpython2.6.dylib,将PYTHON_INCLUDE_DIR更改为/opt/local/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6

注意,特定的路径当然取决于您使用的Python版本(2.6或2.7等)。另外,如果您使用的是系统Python,而不是MacPorts(位于/opt中),那么您可能希望Python库/usr/lib/libpython2.6.dylib

相关问题 更多 >