PDA

View Full Version : How to set QMAKESPEC ??



Shuchi Agrawal
13th March 2007, 09:45
hi all,
i am new to Linux ( i have installed federo core 5 and Qt frm qt-x11-opensource-src-4.2.2).
now when i m trying to compile n execute the t1 sample given with Qt, its giving the following error :
[root@localhost t1]# qmake -project
[root@localhost t1]# qmake
/root/qt-x11-opensource-src-4.2.2/.qmake.cache:2: Unknown replace function: quote
/root/qt-x11-opensource-src-4.2.2/.qmake.cache:3: Unknown replace function: quote
Failure to read QMAKESPEC conf file /mkspecs/linux-g++/qmake.conf.
Error processing project file: /root/qt-x11-opensource-src-4.2.2/examples/tutorial/t1/t1.pro
Please help me, and tell me the commands to do it. i have logged in the "root" login.
please tell me tht do i need to install any compiler (like mingw) to use with it?
thanks

vermarajeev
13th March 2007, 10:00
hi all,
i am new to Linux ( i have installed federo core 5 and Qt frm qt-x11-opensource-src-4.2.2).
now when i m trying to compile n execute the t1 sample given with Qt, its giving the following error :
[root@localhost t1]# qmake -project
[root@localhost t1]# qmake
/root/qt-x11-opensource-src-4.2.2/.qmake.cache:2: Unknown replace function: quote
/root/qt-x11-opensource-src-4.2.2/.qmake.cache:3: Unknown replace function: quote
Failure to read QMAKESPEC conf file /mkspecs/linux-g++/qmake.conf.
Error processing project file: /root/qt-x11-opensource-src-4.2.2/examples/tutorial/t1/t1.pro
Please help me, and tell me the commands to do it. i have logged in the "root" login.
please tell me tht do i need to install any compiler (like mingw) to use with it?
thanks


Seems to be same question...
Please refer this http://lists.trolltech.com/qt-interest/2006-02/thread00698-0.html

Shuchi Agrawal
13th March 2007, 10:14
thanks. but i have aleady checked this link. the main problem is i am not getting how to set QMAKESPEC to linux-g++.
So i wil be greatful to you if u can help me in this.
Thanks

vermarajeev
13th March 2007, 11:17
thanks. but i have aleady checked this link. the main problem is i am not getting how to set QMAKESPEC to linux-g++.
So i wil be greatful to you if u can help me in this.
Thanks

I'm not too a linux expert but I think you can use export QMAKESPECS=PATH WHAT YOU WANT TO SET.
Hope this helps.

vermarajeev
13th March 2007, 11:28
I'm not too a linux expert but I think you can use export QMAKESPECS=PATH WHAT YOU WANT TO SET.
Hope this helps.

Hmm I think this will help you

Set QMAKESPEC to the spec that is most suitable for your platform.
export QMAKESPEC=$QTDIR/mkspecs/linux-g++

Shuchi Agrawal
13th March 2007, 11:36
after doin this i m getting the error :
[root@localhost t1]# qmake /root/qt-x11-opensource-src-4.2.2/.qmake.cache:2: Unknown replace function: quote
/root/qt-x11-opensource-src-4.2.2/.qmake.cache:3: Unknown replace function: quote
Project LOAD(): Feature qt_config cannot be found.
[root@localhost t1]#

please help me in this. Thanks

vermarajeev
13th March 2007, 11:54
after doin this i m getting the error :
[root@localhost t1]# qmake /root/qt-x11-opensource-src-4.2.2/.qmake.cache:2: Unknown replace function: quote
/root/qt-x11-opensource-src-4.2.2/.qmake.cache:3: Unknown replace function: quote
Project LOAD(): Feature qt_config cannot be found.
[root@localhost t1]#

please help me in this. Thanks

Hi try out this

'ln -s mkspec/features features'

But I'm not sure. If you get the errors again. Please let us know what steps you followed. IF possible type env on command prompt and let us know what is QTDIR and QMAKESPEC's path.

Thanks

Shuchi Agrawal
13th March 2007, 12:09
now qmake is working but when i give "make" i get the following error fot the "t1" tutorial given with Qt
[root@localhost t1]# qmake -project
[root@localhost t1]# qmake
[root@localhost t1]# make
make: Nothing to be done for `first'.
[root@localhost t1]#
can you tel me whts 'first' as the code in .cpp is

#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{ QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec(); }

when i m deleting the "first: all" fm in between the makefile then its successfully executing n getting as follows
[root@localhost t1]# make
g++ -c -pipe -g -O2 -Wall -W -D_REENTRANT -D_LARGEFILE64_SOURCE -D_LARGEFILE_SO URCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/lin ux-g++ -I. -I../../../include/QtCore -I../../../include/QtCore -I../../../includ e/QtGui -I../../../include/QtGui -I../../../include -I. -I.moc/release-shared -I .uic/release-shared -o .obj/release-shared/main.o main.cpp
g++ -Wl,-rpath,/usr/local/Trolltech/Qt-4.2.2/lib -Wl,-rpath,/usr/local/Trolltech /Qt-4.2.2/lib -o t1 .obj/release-shared/main.o -L/root/qt-x11-opensource-src- 4.2.2/lib -lQtGui -L/root/qt-x11-opensource-src-4.2.2/lib -L/usr/X11R6/lib -lpng -lSM -lICE -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXe xt -lX11 -lQtCore -lz -lm -lglib-2.0 -ldl -lpthread
(test -z "" || cd "" ; targ=`basename t1`; objcopy --only-keep-debug "$targ" "$t arg.debug" && objcopy --strip-debug "$targ" && objcopy --add-gnu-debuglink="$tar g.debug" "$targ" && chmod -x "$targ.debug" ) ;
[root@localhost t1]#
but the "t1" and "t1.debug" generated are of executable type but not getting executed.

vermarajeev
13th March 2007, 12:34
Please rerun qmake. Also let me know what steps you followed.

If possible use something like this


qmake -project
qmake -o makefile project.pro
make clean
make

Hope this helps

Shuchi Agrawal
13th March 2007, 13:26
When i m clicking the "t1" executable, nothing happens. can u tell me why???
i m following the steps u told successfully
[root@localhost t1]# qmake -project
[root@localhost t1]# qmake -o makefile t1.pro
[root@localhost t1]# make clean
rm -f qmake_image_collection.cpp
rm -f .obj/release-shared/main.o
rm -f *~ core *.core
[root@localhost t1]# make
g++ -c -pipe -g -O2 -Wall -W -D_REENTRANT -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtCore -I../../../include/QtGui -I../../../include/QtGui -I../../../include -I. -I.moc/release-shared -I.uic/release-shared -o .obj/release-shared/main.o main.cpp
g++ -Wl,-rpath,/usr/local/Trolltech/Qt-4.2.2/lib -Wl,-rpath,/usr/local/Trolltech/Qt-4.2.2/lib -o t1 .obj/release-shared/main.o -L/root/qt-x11-opensource-src-4.2.2/lib -lQtGui -L/root/qt-x11-opensource-src-4.2.2/lib -L/usr/X11R6/lib -lpng -lSM -lICE -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -lglib-2.0 -ldl -lpthread
(test -z "" || cd "" ; targ=`basename t1`; objcopy --only-keep-debug "$targ" "$targ.debug" && objcopy --strip-debug "$targ" && objcopy --add-gnu-debuglink="$targ.debug" "$targ" && chmod -x "$targ.debug" ) ;
[root@localhost t1]#

vermarajeev
13th March 2007, 14:21
Go to the path where the executable is and type ./t1. It should work.

Shuchi Agrawal
14th March 2007, 06:39
Thanks a lot. i got the command but still....
[root@localhost t1]# ./t1
./t1: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory
[root@localhost t1]#
it gives the above error on executing the exe.
one thing i noticed is when i run "make" then it gives as :
[root@localhost t1]# make
g++ -c -pipe -g -O2 -Wall -W -D_REENTRANT -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include/QtCore -I../../../include/QtGui -I../../../include/QtGui -I../../../include -I. -I.moc/release-shared -I.uic/release-shared -o .obj/release-shared/main.o main.cpp
g++ -Wl,-rpath,/usr/local/Trolltech/Qt-4.2.2/lib -Wl,-rpath,/usr/local/Trolltech/Qt-4.2.2/lib -o t1 .obj/release-shared/main.o -L/root/qt-x11-opensource-src-4.2.2/lib -lQtGui -L/root/qt-x11-opensource-src-4.2.2/lib -L/usr/X11R6/lib -lpng -lSM -lICE -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -lglib-2.0 -ldl -lpthread
(test -z "" || cd "" ; targ=`basename t1`; objcopy --only-keep-debug "$targ" "$targ.debug" && objcopy --strip-debug "$targ" && objcopy --add-gnu-debuglink="$targ.debug" "$targ" && chmod -x "$targ.debug" ) ;
[root@localhost t1]#

can u tel me why it is taking the path which i have bolded above and how can i correct it?
there is no such folder "trolltech" in /usr/local
i have installed Qt in root.but i think g++ compiler has other settings of qt installation. m i right?

vermarajeev
14th March 2007, 07:01
Right use something like this


export QTDIR="PATH WHERE qt is installed" (example: /usr/lib/qt4)
export PATH=$QTDIR/bin:$PATH

vermarajeev
14th March 2007, 07:23
Follow this thread...

http://www.qtcentre.org/forum/f-installation-5/t-how-to-set-paths-822.html

Shuchi Agrawal
14th March 2007, 10:23
Thanks :-)
its working now :-)
i didnt followed "install make"
Thanks a lot