小编pir*_*irt的帖子

Python3.4错误 - 无法启用可执行堆栈,因为共享对象需要:无效的参数

我一直在尝试在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

8
推荐指数
1
解决办法
7759
查看次数

在 Rust 中拥有多个具有相同属性的结构体的惯用方法是什么?

我知道 Rust 没有继承,并且该语言提供了通过使用 Traits 在对象之间共享相同方法的不同实现的简单方法。但是是否有一种惯用的方法来共享属性名称定义,或者是否需要在每个结构上定义它们?

我的用例是我有许多不同的结构来跟踪某些信息。每条信息都可以更新,我希望每个结构都知道其上次更新的日期。是否有一个通用模式(也许是宏?)来last_update向所有结构添加属性,或者我必须将其显式添加到每个结构中?

struct properties rust

5
推荐指数
1
解决办法
4447
查看次数