今天安装ubuntu 中的opencv出现无法将nvcc中device与opencv链接的问题
发现是在cmake的时候 需要加上sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_ARCH_BIN="5.0" ..
(gedit:12384): IBUS-WARNING **: The owner of /home/jxj/.config/ibus/bus is not root!
(gedit:12384): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
** (gedit:12384): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-spell-enabled
** (gedit:12384): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-encoding
** (gedit:12384): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-position
具体 出现为
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).发现是在cmake的时候 需要加上sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_ARCH_BIN="5.0" ..
CUDA_ARCH_BIN代表你当前显卡的计算能力。具体能力值可在nvidia官网下载cuda的地方查阅。
在我的机器上使用gedit来更改cmake之后的OpenCVConfig.cmake文件中的相关“compute_20”也可以,但是我的gedit会出现这种情况
(gedit:12384): IBUS-WARNING **: The owner of /home/jxj/.config/ibus/bus is not root!
(gedit:12384): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
** (gedit:12384): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-spell-enabled
** (gedit:12384): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-encoding
** (gedit:12384): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-position
修改之后再make不管用。。。按理说是跟上面的方法效果是一样的。
所以使用修改cmake方法来改config修正opencv是不可行的。估计是不支持属性的锅。。。
目前正在找gedit出现这种情况的原因。