This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Thanks Dan for the info. I've ran the command using the --verbose option, and its definitely searching DOS paths to find include files/etc. Where is this information set inside the gcc compilation?? I thought that cygwin would handle paths at the "last stage" before opening the file, rather than GCC being compiled in a set of DOS paths as its search locations?? Any ideas?? Could I remove the DOS_SEPERATOR define inside the config/xx-cygwin32 files?? I dont understand that gcc is using dos pathname seperators internally. $ arm-epoc-pe-g++ dialog.cpp -I/opt/symbian/UIQ_21/include --verbose Reading specs from c:\cygwin\opt\symbian\UIQ_21\bin\..\lib\gcc-lib\arm-epoc-pe\2.9-psion-98r2\s pecs gcc version 2.9-psion-98r2 (Symbian build 546) c:\cygwin\opt\symbian\UIQ_21\bin\..\lib\gcc-lib\arm-epoc-pe\2.9-psion-98r2\c pp.exe -lang-c++ -v -I/opt/symbian/UIQ_21/include -iprefix c:\cygwin\opt\symbian\UIQ_21\bin\..\lib/gcc-lib/arm-epoc-pe\2.9-psion-98r2\ -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=9 -Darm -D__ pe__ -D__declspec(x)=__attribute__((x)) -D__arm__ -D__pe__ -D__declspec(x)=_ _attribute__((x)) -D__arm -Acpu(arm) -Amachine(arm) -D__EXCEPTIONS -D__CHAR_ UNSIGNED__ -D__ARM_ARCH_4T__ -D__APCS_32__ dialog.cpp /cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp\ccAtCGUw.ii GNU CPP version 2.9-psion-98r2 (Symbian build 546) (ARM/EPOC/PE) #include "..." search starts here: #include <...> search starts here: c:\cygwin\opt\symbian\UIQ_21\bin\..\lib\gcc-lib\arm-epoc-pe\2.9-psion-98r2\i nclude c:\cygwin\opt\symbian\UIQ_21\bin\..\lib\gcc-lib\arm-epoc-pe\2.9-psion-98r2\. .\..\..\..\arm-epoc-pe\include End of search list. In file included from dialog.cpp:1: dialog.h:3: eikdialg.h: No such file or directory dialog.cpp:6: eikchlst.h: No such file or directory I can always "hack" the specs file to include the DOS path directory to the Symbian SDK includes, but this is not cross-platform when I try and compile using the same makefile under Linux. Cheers, Ben -----Original Message----- From: Dan Kegel [mailto:dank@kegel.com] Sent: Monday, January 19, 2004 4:50 PM To: ben_bodley@hotmail.com Cc: crossgcc@sources.redhat.com Subject: Re: cygwin cross compiler expects DOS paths for include directories, etc. Ben Bodley wrote: > Hello, > $ 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 > __TText That's a puzzle, isn't it? I usually solve icky problems like this by doing things like running g++ with the --verbose flag to see what it's doing in more detail and/or by running it under strace -o foo.log and then doing grep -i eikdialg.h foo.log to see what happened when it tried to open the file. You might also check the case of the filename and the permissions on the file. - Dan ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |