【问题标题】:Building symbolic link shared library in a shared folder of VirtualBox在 VirtualBox 的共享文件夹中构建符号链接共享库
【发布时间】:2013-09-12 20:59:57
【问题描述】:
我现在正在 Windows 和 Linux 中构建 C++ 库。对于 Windows,我现在使用 Visual Studio 进行开发,而对于 Linux,我现在通过 Virtual Box 使用 Ubuntu。为了让开发更容易,我通过Virtual Box的共享文件夹功能将Windows中的项目文件夹共享给了Linux。我首先在 Windows 中编译并运行该项目,如果成功,我将在 Linux 中编译它。多亏了 CMake,这才成为可能。我遇到的问题是,如果要构建的共享库是符号链接,则它不能在 Linux 中编译为this page suggests。如果它不是一个象征性的,那很好。那么我的问题如下:
- 符号链接属性对于 Linux 中的库重要吗?
- 有没有可以在共享文件夹中成功构建符号链接库的解决方案?
【问题讨论】:
标签:
c++
linux
cmake
virtual-machine
virtualbox
【解决方案1】:
在共享文件夹之外配置您的项目可能会有所帮助。
cd ~
mkdir build
cd build
cmake /path/to/mounted/shared/folder
make
【解决方案2】:
问题是共享文件夹的权限默认设置为不允许符号链接。您可以通过几个简单的步骤启用它们。
- 关闭虚拟机。
- 记下您的机器名称
Machine > Settings > General > Name
- 在
Machine > Settings > Shared Folders 处记下您的共享文件夹名称
- 找到您的 VirtualBox 根目录并执行以下命令。
VBoxManage setextradata "<machine name>" VBoxInternal2/SharedFoldersEnableSymlinksCreate/<shared folder name> 1
- 启动虚拟机,共享文件夹现在将允许符号链接。