cygwin - Cygwin:使用 MinGW fopen/etc 遵循符号链接
问题描述
问题:我正在编写一些可移植到 Linux 和 Cygwin(在 msys 上编译)的代码,并且符号链接的处理方式不同。在 Cygwin 上,如果我以正常方式创建符号链接,并使用默认的 Cygwin shell(即CYGWIN
未设置 envvar):
$ ln -s foo bar
然后fopen(bar)
不遵循符号链接。第一行文本似乎是!<symlink>.
,我的代码报告打开的文件不是 UTF-8。
我可以通过以管理员身份运行 Cygwin、设置CYGWIN
为winsymlinks:nativestrict
、删除符号链接并重新创建它来解决此问题。然而,这并不理想:在我的例子中,符号链接是由 Linux 代码库中的 Subversion 创建的,所以我现在需要在每次更新后编写链接删除和重新制作脚本。
- 有没有更好的方法来做到这一点,还是我必须要求 Cygwin 用户以管理员身份运行并设置
CYGWIN
? - 如何编写代码以遵循本机 Cygwin 符号链接?
- 如何编写代码来找出我正在处理的符号链接类型?这也被问到这里,但那里的答案是脚本化的
谢谢。
编辑
好的,我认为答案基本上在这里,在 2007 年的 MinGW 邮件列表中。如果您使用 MinGW 编译,则不能使用 Cygwin 本机符号链接。也许自 2007 年以来情况发生了变化?
解决方案
推荐阅读
- android - 如何创建自定义视图充气器并将其设置为样式资源?
- python - 如果匹配字符串,熊猫删除行(不区分大小写)
- c++ - 为什么 t.join 在这个例子中不能被调用两次?
- python - “默认为用户安装,因为普通站点包不可写”python 消息
- javascript - 如何按类获取点击元素的索引?
- javascript - Google Firebase 网络应用程序登录页面
- arrays - 在结构/数组中存储和访问不同数据类型的变量/数组的正确方法
- android - Android MediaSessionCompat 回调未触发
- javascript - 是否可以动态更改 manifest.json 文件
- opengl - 如何将视图从 OpenGL 提取到视频流?