[PyKDE] Problem building PyQt on Windows
Giovanni Bajo
rasky at develer.com
Tue Feb 6 01:06:35 GMT 2007
On 05/02/2007 1.40, Javier Sanz wrote:
> Thanks for answering.
>
> That line contains #include <QtCore/qiodevice.h>
>
> On 2/5/07, *Giovanni Bajo* <rasky at develer.com
> <mailto:rasky at develer.com>> wrote:
>
> On 02/02/2007 20.20, Javier Sanz wrote:
>
> >
> E:/windows/Qt/4.2.2/include/QtCore/../../src/corelib/io/qfile.h:27:30:
> > E:/windows/Qt/4.2.2/include/QtCore/QtCore/qiodevice.h: Invalid
> argument
Uhm. The command line is this:
g++ -c -O2 -O2 -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
-DQT_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
-I"E:/windows/Qt/4.2.2/include/QtCore" -I"E:/windows/Qt/4.2.2/include/QtCore"
-I"E:/windows/Qt/4.2.2/include" -I"E:/windows/Qt/4.2.2/include/ActiveQt"
-I"release" -I"." -I"..\Qt\4.2.2\mkspecs\win32-g++" -o release\qtdirs.o qtdirs.cpp
which includes these:
-I"E:/windows/Qt/4.2.2/include/QtCore"
-I"E:/windows/Qt/4.2.2/include"
Now, when g++ process this include line:
#include <QtCore/qiodevice.h>
it looks like it gets confused. In fact, when it sticks this to the first
include path:
"E:/windows/Qt/4.2.2/include/QtCore" + QtCore/qiodevice.h
it ends up with:
E:/windows/Qt/4.2.2/include/QtCore/QtCore/qiodevice.h
which is obviously invalid. *BUT* "E:/windows/Qt/4.2.2/include/QtCore/QtCore"
does exist: it is a file (not a directory).
So, my wild guess is that g++ is getting confused. Probably a bug in the way
include paths/files are handled. Now, to the real question: why this happens
only to you?
One thing that I would start inspecting is where the forward slashes in the
paths are coming from. I can't remember a single forward slash ("/") when I
compile PyQt under Windows: I always see backward slash ("\") in my path. It
*might* be that g++ is confused because of this (ok, it's really a WILD GUESS
but let's start with something...).
Does qtdirs.mk contains forward slashes? If so, why does qmake generate
forward slashes for you under Windows? If you manually edit the generated
qdirs.mk.* and replace all forward slashes with backward slashes, and then run
"mingw32-make -f qtdirs.mk release", does it compile?
--
Giovanni Bajo
More information about the PyQt
mailing list