尝试在共享驱动器上编译时出现链接错误

尝试在共享驱动器上编译时出现链接错误

我正在尝试在系统上的共享驱动器上编译 OpenCV 库。我能够通过使用成功配置和生成 makefile这些设置,但是当我尝试编译时出现以下错误:

Linking CXX shared library ../../lib/libopencv_core.so
CMake Error: cmake_symlink_library: System Error: Operation not permitted
CMake Error: cmake_symlink_library: System Error: Operation not permitted
make[2]: *** [lib/libopencv_core.so.2.4.3] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

我该如何解决这个问题?
我认为这可能是安装标志的问题。

答案1

发生这种情况是因为vfat类型文件系统不支持符号链接。挂载标志不会改变这种情况。

我不熟悉 CMake,但我想您在 makefile 中使用了某种规则,告诉 CMake 创建指向 的符号链接lib/libopencv_core.so.2.4.3,但该链接失败了。

答案2

我遇到了同样的问题,因为我在 ubuntu(客户机)的虚拟机实例上运行,但在我的 mac(主机)的共享文件夹中运行。

由于 Mac 上的符号链接不同,cmake 失败。将构建目录移动到仅限 ubuntu 的文件夹(不与 Mac 共享)解决了该问题。

故事的寓意是——不要建立跨平台的共享文件夹。

相关内容