Mac OS上"导入cv"期间的"分段错误"

Ale*_*nov 6 python macos opencv macports

尝试从源代码在我的Mac上编译opencv.

我关注了CMakeCache.txt:http://pastebin.com/KqPHjBx0

我做ccmake ..,按c,然后g.比我做的sudo make -j8:http: //pastebin.com/cJyr1cEd

比我做的sudo make install:http: //pastebin.com/W77syYBj

而不是我import cv在python中制作并使用此堆栈跟踪获取"Segmentation faul":http://pastebin.com/gegYAK1u

我不知道对我有什么帮助,请帮忙.问,我会明白的.

小智 8

我有同样的情况,并解决了以下步骤.

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

改变PYTHON_LIBRARY的价值/opt/local/lib/libpython2.6.dylibPYTHON_INCLUDE_DIR/opt/local/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6.

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


med*_*duz 1

从您的日志来看,您似乎使用 MacPorts 和 python 2.6。

opencv将在此框架上编译良好:

sudo port install  opencv +python26
Run Code Online (Sandbox Code Playgroud)

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

sudo port install py26-numpy
Run Code Online (Sandbox Code Playgroud)

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

您的问题是关于从源代码编译。查看链接到的端口文件,您将能够找到您的问题。要查找端口文件,请执行以下操作:

port file opencv
Run Code Online (Sandbox Code Playgroud)

或直接

sudo port edit  opencv
Run Code Online (Sandbox Code Playgroud)

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