linux - 如何使用基于linux的平台在windows硬盘上构建linux共享库?

标签 linux windows opencv shared-libraries mount

我正在使用 cmake 从基于 Linux 的计算机远程构建 Windows 中的开放简历库,在运行以下命令后出现此错误:

mount.cifs//10.164.5.10/tgupta/mnt/open_cv -o 用户名=tgupta,密码=passwd
然后按照本教程进行操作

http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html

运行 make 命令后我陷入此错误

Linking CXX shared library ../../../bin/libopencv_core.so   
CMake Error: cmake_symlink_library: System Error: Operation not supported  
CMake Error: cmake_symlink_library: System Error: Operation not supported  
make[2]: *** [bin/libopencv_core.so.3.0.0] Error 1  
make[1]: *** [opencv/modules/core/CMakeFiles/opencv_core.dir/all] Error 2  
make: *** [all] Error 2

最佳答案

我也在做同样的事情,即

  • 在 Windows 主机上运行的虚拟机中的 Linux 虚拟机的共享外部驱动器上构建 OpenCV,

  • 我在符号链接(symbolic link)方面遇到了同样的错误。

以下内容对我有用:

  1. Shut down the Virtual Machine and also VirtualBox completely,
  2. Open cmd.exe and type the following,
$ cd C:/Program Files/Oracle/VirtualBox
$ VBoxManage setextradata VM_NAME
$ VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

where in my case, VM_NAME=ubuntu14 and SHARE_NAME=D_DRIVE (Yes, remove the "sf_" prefix).

  1. Open VirtualBox as Administrator, and start Ubuntu/(your linux guest), rebuild OpenCV, everything works fine now!

我从这里得到它:"Virtualbox Sharedfolder Symbolic Link Error" .

注意:想想看,一个小小的变化,但就我而言,我想会产生很大的差异 - 我的外部设备是NTFS格式的。据我所知,NTFS确实支持某种符号链接(symbolic link)。我不确定此解决方案是否也适用于 FAT (VFAT/FAT32) 格式的驱动器。

关于linux - 如何使用基于linux的平台在windows硬盘上构建linux共享库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29115323/

相关文章:

java - 正确填充图像中的孔

php - 有没有适用于任何 Linux 操作系统版本的 php-pgsql 软件包?

c - 如何对位置未知的命令使用 execv?

.net - 等同于 .NET 中的 Windows 错误代码

java - 降级到 1.7 后执行 java -version 时,我仍然看到 Java 1.8

c# - OpenCV 的 Queryframe() 仅返回一帧

php - 通过网页(html 和 php)通过 SSH2 连接到远程计算机

c - Linux C 如何为 http 响应 block 动态分配内存?

c# - 创建自定义Windows输出设备

c++ - 我可以为任何可以进入 Extern C 的 C++ vector 制作一个 C 包装器吗