【发布时间】:2019-01-27 04:33:42
【问题描述】:
在 Mac OS X high Sierra (10.13.6) 上使用 cuda 编译 opencv 时出现链接错误。
错误信息:
[ 21%] Linking CXX shared library ../../lib/libopencv_cudev.dylib
ld: warning: directory not found for option '-L/Users/unknownn/opencv/-Wl,-rpath,/usr/local/cuda'
ld: warning: directory not found for option '-L-Wl,-rpath,/usr/local/cuda'
ld: library not found for -llib
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libopencv_cudev.4.0.1.dylib] Error 1
make[1]: *** [modules/cudev/CMakeFiles/opencv_cudev.dir/all] Error 2
make: *** [all] Error 2
我已经尝试了几乎所有 cuda (9, 9.2, 10) 和 opencv (3.4, 4.0.1) 版本。我也知道每个 cuda 版本都需要特定的 Xcode 版本。
我也尝试过各种cmake版本
我在 ccmake 中检查了正确的 cuda 路径。
我不知道为什么会出现 ld 警告,因为 /usr/local/cuda 存在。
什么是-llib?
【问题讨论】:
-
你的
cmake命令是什么? -
cmake -DWITH_CUDA=ON -DWITH_OPENGL=OFF -DCUDA_ARCH_BIN=6.1 -DCUDA_VERBOSE_BUILD=ON -DCMAKE_BUILD_TYPE=RELEASE -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..
标签: macos opencv macos-high-sierra