在挂载的磁盘下 运行 cmake 失败

问:虚拟机linux挂载了windows的共享磁盘,在挂载的磁盘下/mnt/xxx 运行 Cmake 为何会导致,:CMake Error: failed to create symbolic link 'libtdjson.so': Operation not supported

gpt:

在Linux虚拟机上挂载了Windows的共享磁盘后,可能会涉及到文件系统差异和权限问题。在一些情况下,Windows共享文件夹可能不支持符号链接,这可能导致CMake在创建符号链接时失败。

尝试以下步骤来解决这个问题:

1. **检查Windows共享设置:**
   确保Windows共享文件夹的设置允许符号链接。有时,需要在Windows共享文件夹的高级设置中启用符号链接。

2. **使用CMake的备选方案:**
   修改CMakeLists.txt文件,以便在不能创建符号链接时使用备选方案。你可以使用CMake的`configure_file`命令,将库文件复制到指定目录。例如:
   ```cmake
   configure_file(libtdjson.so libtdjson.so COPYONLY)
   ```

3. **检查Linux挂载设置:**
   确保在Linux上挂载Windows共享磁盘时,使用了适当的挂载选项。有时挂载选项可能会影响符号链接的创建。尝试使用`cifs`文件系统挂载,而不是其他可能的文件系统。

4. **权限问题:**
   确保在Linux上有足够的权限在指定目录下创建符号链接。你可能需要以管理员身份运行CMake或使用`sudo`。

5. **在Linux上直接运行CMake:**
   尝试将CMake的构建目录放在Linux本地文件系统上,而不是在挂载的Windows共享磁盘上。

根据你的实际情况尝试上述步骤,看看是否能够解决该问题。
最终处理方案为5,将CMake的构建目录放在Linux本地文件系统上 (/tmp目录下),构建成功

你可能感兴趣的:(编译)