开发者

How to make a symbolic link with Cygwin in Windows 7

开发者 https://www.devze.com 2023-01-15 03:10 出处:网络
Recently I hav开发者_JS百科e tested to write an Android application with native code in C/C++. The problem is in making symbolic links when using the Android NDK. After some googling, some say to use

Recently I hav开发者_JS百科e tested to write an Android application with native code in C/C++. The problem is in making symbolic links when using the Android NDK. After some googling, some say to use Cygwin. I have installed it now. How can I make a symbolic link with Cygwin in Windows 7?


In short, define the following environment variable:

CYGWIN=winsymlinks:nativestrict

According to Cygwin documentation:

If set to winsymlinks:native or winsymlinks:nativestrict, Cygwin creates symlinks as native Windows symlinks on filesystems and OS versions supporting them.

The difference between winsymlinks:native and winsymlinks:nativestrict is this: If the filesystem supports native symlinks and Cygwin fails to create a native symlink for some reason, it will fall back to creating Cygwin default symlinks with winsymlinks:native, while with winsymlinks:nativestrict the symlink(2) system call will immediately fail.

You should also make sure you run Cygwin with elevated privileges (right-click the shortcut and choose Run as Administrator, or set the mintty shortcut property, Advanced → Run as Administrator).

Some details are provided in the other answer.


I got it the next day! So, not to wrongly get ignorance thinking like me (newbie to Cygwin), I answer it now.

Making a symbolic link for Windows 7 is easy with the usual command:

ln -s

The answer is setting up Cygwin with the required packages such as make, etc.

Read the requirements clearly: Android NDK


You may try to use "mklink" instead of "ln -s" as Tony O'Hagan suggested in an answer to Git Bash shell fails to create symbolic links.


We had a similar problem and had a solution not documented in previous answers.

We needed a way to create a directory remote link that worked for both Cygwin and Windows 7 to a remote Samba (Linux) share.

We used this command in Windows PowerShell and it worked.

CMD /C MKLINK /D C:\local_dir_path\dir \\\\192.168.0.1\remote_dir_path\dir

The above command makes a link that works in both.

Of course, please change the local and remote directories to meet your needs.

ln -s works in Cygwin, but not Windows.

Using a "make link" command in Windows Explorer (folder view) worked in Windows, but not in Cygwin.

A similar command as above entered in Cygwin did not work and we didn't completely understand why. Perhaps it is related to conversion of strings or paths.

0

精彩评论

暂无评论...
验证码 换一张
取 消