This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Running a program using a DLL under Cygwin


Greetings, Linda Walsh!

>>> I think symlink is a cygwin thing.  Windows won't find that DLL (just
>>> like you won't find it using windows explorer.)
>> 
>> Unless he have created a Windows symlink, that is correct.
>> Explorer, however, may find it, as Cygwin symlinks are Windows LNK files.
> ----
> Cygwin symlinks can use native Windows format, if you put 'winsymlinks:native export'
> in your 'CYGWIN' env var at startup -- preferably in your Win profile.

> However, cygwin occasionally has some bugs in how it creates links:
> /tmp> touch x
> /tmp> ln -s x y    
> /tmp> ll x y
> -rw-rw-r--+ 1 0 Oct 10 22:27 x
> lrwxrwxrwx  1 6 Oct 10 22:28 y -> /tmp/x
> /tmp> cmd /c dir ?|grep '\s[xy]'
> 10/10/2015  10:32 PM                 0 x
> 10/10/2015  10:40 PM    <SYMLINK>      y [C:\tmp\x]
> /tmp> rm y
> /tmp> mklink x y

Do note that native mklink has arguments in the opposite order. (Microsoft...)

> symbolic link created for y <<===>> x
> tmp> cmd /c dir ?|grep '\s[xy]'
> 10/10/2015  10:32 PM                 0 x
> 10/10/2015  10:43 PM    <SYMLINK>      y [x]

> Normally cygwin can create relative symlinks but for some reason 
> using these names -- in /tmp, it did not.

> (if I used a name other than 'y' for the symlink like 'winlink' or 'cyglink'
> then they both were relative links)

> Go figger...

> Also, FWIW Cygwin 'hardlinks' are Windows 'hardlinks'.  
> No significant difference.

Well, it is a difference.
If target of a symlink is deleted and recreated, the symlink will still work.
If a hardlinked file is deleted and recreated, it'll lose the link between the
two.

> So you could use a windows symlink or hardlink created in cygwin
> to the location of your 'dll' and it "should" work (but I haven't
> tested it)

For the purposes of DLL loading, hardlink is probably a good choice.


-- 
With best regards,
Andrey Repin
Sunday, October 11, 2015 17:17:03

Sorry for my terrible english...


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]