Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 2

Qt-interest Archive, March 2008
qmake and MSYS


Message 1 in thread

Qt-4.3.0 came with enhancements that made it possible to use MSYS, as 
mentioned here:
http://labs.trolltech.com/blogs/2007/01/30/qtmsys/

That is, when qmake is invoked under MSYS sh.exe, the directory
separator used in the Makefile is / instead of \

The trouble is, it no longer really works with Qt-4.3.4 (or Qt-4.3.3,
I haven't tested 4.3.1 or 4.3.2). Specifically, I get a failure because 
moc.exe is now referred to as
C:\Qt\4.3.4\bin/moc.exe, a command that make fails to launch.

The bottom line is apparently this change:

$ /c/Qt/4.3.0/bin/qmake  -query QT_INSTALL_BINS
C:/Qt/4.3.0/bin

as opposed to:

$ /c/Qt/4.3.4/bin/qmake -query QT_INSTALL_BINS
C:\Qt\4.3.4\bin


Is this a regression or a change of mind? Is there a variable or 
something to set with newer versions of qmake to get back to the old 
behavior?
I can't use CMD.exe since my build invokes a complex configure script 
that requires and advanced unix-like shell.

 Regards,

-- 
 [ signature omitted ] 

Message 2 in thread

Daniel Vérité said the following on 07.03.2008 00:40:
> C:\Qt\4.3.4\bin/moc.exe, a command that make fails to launch.
> 
> The bottom line is apparently this change:
> 
> $ /c/Qt/4.3.0/bin/qmake  -query QT_INSTALL_BINS
> C:/Qt/4.3.0/bin
> 
> as opposed to:
> 
> $ /c/Qt/4.3.4/bin/qmake -query QT_INSTALL_BINS
> C:\Qt\4.3.4\bin
> 
> 
> Is this a regression or a change of mind? Is there a variable or 
> something to set with newer versions of qmake to get back to the old 
> behavior?

Hmm, this is a regression. It's supposed to work.
See if manually updating the paths in
     <QTDIR>/src/corelib/global/qconfig.cpp works for you.

-- 
 [ signature omitted ] 

Attachment: signature.asc
Description: OpenPGP digital signature


Message 3 in thread

	 Marius Storm-Olsen writes

> > $ /c/Qt/4.3.4/bin/qmake -query QT_INSTALL_BINS
> > C:\Qt\4.3.4\bin
> > 
> > 
> > Is this a regression or a change of mind? Is there a variable or 
> > something to set with newer versions of qmake to get back to the 
old 
> > behavior?
> 
> Hmm, this is a regression. It's supposed to work.
> See if manually updating the paths in
>      <QTDIR>/src/corelib/global/qconfig.cpp works for you.

I should have mentioned that my Qt-4.3.4 installation comes from 
precompiled binaries as available at Trolltech's site.
And it has no qconfig.cpp in <QTDIR>/src/corelib/global

So I tried to compile it from source instead, and I'm finding that
it solves the problem, the path for moc is now correct when qmake is
invoked from MSYS shell. That's good enough for me.

My suspicion about a regression from Qt-4.3.0 is probably moot, since I 
was testing a self-built Qt-4.3.0 against a pre-compiled Qt-4.3.4, and 
this distinction appears to be key.

Now it remains that there's apparently an issue with how Qt's windows 
installer sets things up with regard to MSYS and QT_INSTALL_BINS, or 
maybe with how qmake interprets those settings when launched from an 
MSYS shell.

Regards,

-- 
 [ signature omitted ] 

Message 4 in thread

2008/3/7, Daniel Vérité <daniel.verite@xxxxxxxxx>:
> The trouble is, it no longer really works with Qt-4.3.4 (or Qt-4.3.3,
> I haven't tested 4.3.1 or 4.3.2). Specifically, I get a failure because
> moc.exe is now referred to as
> C:\Qt\4.3.4\bin/moc.exe, a command that make fails to launch.

Can confirm this problem with 4.3.1 (although I think it was the other
way round, C:/qt/4.3.1/bin\moc). Interestingly the path to uic is set
correctly.

--
 [ signature omitted ]