我一直在尝试在 Windows 上的 Bash(Linux 的 Windows 子系统,wsl)环境中安装OpenCV ,但事实证明这非常困难。
我想我已经非常接近了,但是在输入 python 时,import cv2
会出现以下错误:
ImportError: libopencv_core.so.3.1: cannot enable executable stack as shared object requires: Invalid argument
如何使库在堆栈上执行?
我的 OpenCV*opencv*.so*
库文件位于/usr/local/lib/
. 在普通的 Linux 环境中,我将授予这些库在堆栈上执行的能力
execstack -c /usr/local/lib/*opencv*.so*
但是,即使我可以成功下载execstack
包,它也不是我可以运行以允许在堆栈上执行的可识别命令。我怀疑这与数据执行保护有关,Window 的 Exec-Shield 版本可以防止堆栈粉碎攻击。
但也许我离问题太近了,无法找出问题所在。为什么我不能导入这个 python 包?我正在使用从最新源代码(v.3.1) 编译的 Python v3.4 和 OpenCV。