This is the mail archive of the 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]

Re: Mingwin does not seem to know where its headers live.

On Thu, 13 Apr 2000, Mumit Khan wrote:

> Mo DeJong <> writes:
> > I am trying to compile this code.
> > 
> > BASH.EXE-2.03$ cat WIN32.C
> > #include <string.h>
> > #include <direct.h>
> > 
> > int main(int argc, char ** argv) {
> >     strcpy(NULL,NULL);
> >     mkdir(NULL);
> >     return 0;
> > }
> > 
> > 
> > When I build with mingwin, it bails out
> > saying it can not find direct.h.
> > 
> > BASH.EXE-2.03$ gcc -mno-cygwin -c WIN32.C
> > WIN32.C:2: direct.h: No such file or directory
> Sorry, but this report provides me with no information that
> may help tracking down the problem.
> You need to tell us what version of gcc, and provide some information 
> on what version Cygwin, and if you're using a Cygwin snapshot vs one
> of the released versions, and so on. At the very least, look at the 
> output of:
>   BASH.EXE-2.03$ gcc -v -mno-cygwin -c WIN32.C
> -mno-cygwin uses some internal magic to find the path to the Mingw
> includes, and obviously it's failing here. Hopefully the -v option
> will point us in the right direction.
> Regards,
> Mumit

Here is the output I get from gcc when I compile the above code
with the -v option. (I am running with the new "net release" gcc)

$ gcc -c -mno-cygwin WIN32.C -v
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/2.95.2/specs
gcc version 2.95.2 19991024 (release)
 /usr/lib/gcc-lib/i686-pc-cygwin/2.95.2/cpp.exe -lang-c++ -v -D__GNUC__=2
-D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus -Di386 -D_WIN32 -DWINNT
-D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__))
-D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x))
-D__i386__ -D_WIN32 -D__WINNT__ -D_X86_=1 -D__STDC__=1
-D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x))
-D__i386 -D__WINNT -Asystem(winnt) -Acpu(i386) -Amachine(i386)
-D__EXCEPTIONS -remap -Acpu(i386) -Amachine(i386) -Di386 -D__i386
-D__i386__ -Di686 -Dpentiumpro -D__i686 -D__i686__ -D__pentiumpro
-D__pentiumpro__ -iwithprefixbefore
../../../../i686-pc-cygwin/include/mingw32 -D__MINGW32__=0.2 WIN32.C
GNU CPP version 2.95.2 19991024 (release) (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
End of search list.
The following default directories have been omitted from the search path:
End of omitted list.
WIN32.C:2: direct.h: No such file or directory

So it only searched i686-pc-cygwin/include and not the mingwin includes.

Notice how it invoked cpp.exe with -lang-c++, could that be what is
hosing it up. This really is just a regular C file, not a C++ one,
it just got named that way when I copied it over from Linux. Whats
odd about that is that when I mount the same drive under linux, it
sees the file name as win32.c (not WIN32.C).

Mo Dejong
Red Hat Inc.

Want to unsubscribe from this list?
Send a message to

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