cygwin cross compiler expects DOS paths for include directories, etc.

Anton Erasmus
Mon Jan 19 18:24:00 GMT 2004

On 2004/01/19 at 04:38 Ben Bodley wrote:

>I have searched and trolled the net to find the answer to a problem I am
>having building a cross-compiler for arm under cygwin.
>I am wanting to develop applications for Symbian (EPOC) using gcc in a
>cygwin enviornment.  I am using the Symbian supplied sources and patches
>gcc (No symbian specific source is patched, just a certain combination of
>standard gcc patches from GNU).
>I am using:
>./configure --host=i686-pc-cygwin32 --build=i686-pc-cygwin32
>ymbian/UIQ_21 --target=arm-epoc-pe
>Then building and installing with no problems.
>I try and compile an application however and:
>$ arm-epoc-pe-g++ dialog.cpp -I/opt/symbian/UIQ_21/include
>In file included from dialog.cpp:1:
>dialog.h:3: No include path in which to find eikdialg.h
>dialog.cpp:6: No include path in which to find eikchlst.h
>However, if I use DOS pathnames in my include directory:
>$ arm-epoc-pe-g++ dialog.cpp -Ic:/cygwin/opt/symbian/UIQ_21/include
>In file included from c:\cygwin\opt\symbian\UIQ_21\include\e32std.h:1305,
>                 from c:\cygwin\opt\symbian\UIQ_21\include\coeccntx.h:10,
>                 from c:\cygwin\opt\symbian\UIQ_21\include\eikdialg.h:10,
>                 from dialog.h:3,
>                 from dialog.cpp:1:
>c:\cygwin\opt\symbian\UIQ_21\include\e32des16.h:301: #error no typedef for
>What have I done wrong??  I would prefer makefiles I create to be "generic"
>between Linux and Windows (ie. no c:\ everywhere).  I was under the
>impression that anything built under cygwin understood unix paths.


Check your mount types under cygwin.
if you type mount under cygwin it will say if the drives are mounted in text or binary
The mount type of the drive where the source resides is important. AFAICR the mount type should
be text for the source. I have had extermely strange error messages and problems when the mount
type under cygwin was incorrect. #defines with the \ line continiation character does not compile. Standard
header files are not found etc.

Hope this helps

   Anton Erasmus

Want more information?  See the CrossGCC FAQ,
Want to unsubscribe? Send a note to

More information about the crossgcc mailing list