This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: direct.h
- From: Martin Landa <landa dot martin at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 9 Dec 2015 22:29:41 +0100
- Subject: Re: direct.h
- Authentication-results: sourceware.org; auth=none
- References: <CA+Ei1OcnP5GHCz3=cHKd9AK71O25F0BgvjGanVJ5VQNpzUEfPQ at mail dot gmail dot com> <566886B5 dot 7010008 at redhat dot com>
Hi,
2015-12-09 20:53 GMT+01:00 Eric Blake <eblake@redhat.com>:
> That's because <direct.h> is an old, non-standard header not present on
> modern POSIX-y machines. You want <dirent.h> instead, when targetting
> cygwin. Or else your project is truly tied to Windows, and you should
> be targetting mingw, in which case the question is semi-off-topic here
> (other than how to properly use the mingw cross-compilers available from
> a cygwin installation).
the project is Unix-based, I am just trying to create the both 32bit
and 64bit binaries for Windows users... I modified GDAL lib dependency
to include dirent.h instead of direct.h. The configure doesn't fails,
good. Unfortunately several compiled GRASS tools fails to run when
building:
1 [main] g.proj (2604)
C:\cygwin64\home\landa\grass_trunk\dist.x86_64-w64-mingw32\bin\g.proj.exe:
*** fatal error - cygheap base mismatch detected -
0x180321400/0x901400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.
I do not have any other cygwin1.dll in path. Other GRASS tools are
compiled successfully, so the issue is probably related to linked
libraries or?
> That depends on whether your code is POSIX-y and targetting cygwin, or
> is tied to Windows APIs and should be targetting mingw.
>
>>
>> I am also not sure what will be difference between binaries compiled
>> using cygwin and mingw32-w64 toolchain except of dependencies (like
>> cygwin1.dll). MinGW32-w64 should produce native windows application,
>> but what does it mean exactly?
>
> A native app doesn't depend on cygwin, but that also means it can't use
> the POSIX-y interface provided by cygwin.
OK, thanks for explanation! Martin
--
Martin Landa
http://geo.fsv.cvut.cz/gwiki/Landa
http://gismentors.cz/mentors/landa
--
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