我一直在尝试在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
Run Code Online (Sandbox Code Playgroud)
如何启用库在堆栈上执行?
我的OpenCV *opencv*.so*库文件位于/usr/local/lib/.在普通的Linux环境中,我会授予这些库在堆栈上执行的能力
execstack -c /usr/local/lib/*opencv*.so*
Run Code Online (Sandbox Code Playgroud)
但是,即使我可以成功下载该execstack包,它也不是我可以运行以允许在堆栈上执行的可识别命令.我怀疑这与Data Execution Prevention,Window的Exec-Shield版本有关,可以防止堆栈粉碎攻击.
但也许我只是太过接近问题才弄明白什么是错的.为什么我不能导入这个python包?我正在使用从最新源代码(v.3.1)编译的Python v3.4和OpenCV .
python windows opencv python-3.x windows-subsystem-for-linux
我知道 Rust 没有继承,并且该语言提供了通过使用 Traits 在对象之间共享相同方法的不同实现的简单方法。但是是否有一种惯用的方法来共享属性名称定义,或者是否需要在每个结构上定义它们?
我的用例是我有许多不同的结构来跟踪某些信息。每条信息都可以更新,我希望每个结构都知道其上次更新的日期。是否有一个通用模式(也许是宏?)来last_update向所有结构添加属性,或者我必须将其显式添加到每个结构中?