【问题标题】:How to make symbolic link with cygwin in Windows 7如何在 Windows 7 中使用 cygwin 进行符号链接
【发布时间】:2011-04-08 14:36:25
【问题描述】:

最近我测试了使用原生代码 C/C++ 编写 Android 应用程序。问题在于使用 Android NDK 时进行符号链接。经过一番谷歌搜索,有人说要使用 cygwin。我现在已经安装了。请告诉我如何在 Windows 7 中与 cygwin 建立符号链接。

提前致谢。

【问题讨论】:

标签: cygwin symlink android-ndk


【解决方案1】:

简而言之,定义如下环境变量:

CYGWIN=winsymlinks:nativestrict

根据Cygwin documentation

如果设置为winsymlinks:nativewinsymlinks:nativestrict,Cygwin 会在文件系统和支持它们的操作系统版本上创建符号链接作为本地 Windows 符号链接。

winsymlinks:nativewinsymlinks:nativestrict 之间的区别在于:如果文件系统支持本机符号链接并且 Cygwin 由于某种原因无法创建本机符号链接,它将回退到使用 winsymlinks:native 创建 Cygwin 默认符号链接,而使用winsymlinks:nativestrict symlink(2) 系统调用将立即失败。

您还应确保以提升的权限运行 Cygwin(右键单击快捷方式并选择以管理员身份运行,或设置 mintty 快捷方式属性,高级 → 以管理员身份运行)。

the other answer提供了一些细节。

【讨论】:

  • $ export CYGWIN="winsymlinks:nativestrict" 在 Windows 8 中为我工作
  • 我认为您最好在stackoverflow.com/questions/18654162/… 参考您自己的问题+答案!
  • 使用CYGWIN=winsymlinks:native 对这么多不同的工作流程来说是错误的。如果您可以使用“回退到创建 Cygwin 默认符号链接”,那么您为什么还要首先尝试制作原生?如果有人需要“原生”,那么......他们需要“原生”。唯一合适的选项是“CYGWIN=winsymlinks:nativestrict”!
【解决方案2】:

我第二天就收到了!所以,不要像我一样错误地思考无知(cygwin的新手),我现在回答。使用常用命令很容易为 Windows 7 创建符号链接 ln -s…。答案是用make等所需的包设置cygwin

清楚阅读要求: https://developer.android.com/sdk/ndk/index.html

【讨论】:

  • 语法:ln -s target newfile
  • 查看答案形式 olibre:ln -s 的默认行为显然是创建文本文件。
【解决方案3】:

您可以尝试使用“mklink”而不是“ln -s”,正如@Tony O'Hagan 在此建议的那样:Git Bash Shell fails to create symbolic links

【讨论】:

猜你喜欢
  • 2012-04-25
  • 1970-01-01
  • 1970-01-01
  • 2015-01-03
  • 2012-09-20
  • 1970-01-01
  • 2012-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多