View Full Version : how to compile the qwt5.2.1 at solaris platform?
cspp
8th November 2010, 07:03
I want to compile the qwt5.2.1 in solaris,my Qt version is Qt4.5.3
The compile steps is:
qmake
make
but after compile the src.pro,it generate the libqwt.so.5.2.1
and then compile the designer_plugin.
it have a fatal error!
ld:Fatal error:Library -lqwt: can't find
if I copy the libqwt.so.5.2.1 to libqwt.so.
it will linked ok!
but run it error!
who knowns how to set and compile?
thanks all
Uwe
8th November 2010, 08:05
I want to compile the qwt5.2.1 in solaris ...
Guess you are not using gcc and if it is not a problem on your side it should be more a compiler issue, than one of the operating system.
but after compile the src.pro,it generate the libqwt.so.5.2.1
and then compile the designer_plugin.
When everything has worked like expected you should also find symbolic links to libqwt.so.6.0 and libqwt.so !
Creating these symbolic links is the job of the Makefile and the appropriate commands should have been generated by qmake. When running "qmake -spec solaris-cc" ( Qt 4.7 ) on my linux box I can see those commands in the Makefile. When you really don't have the symbolic links check your Makefile what it is doing instead.
if I copy the libqwt.so.5.2.1 to libqwt.so.
it will linked ok!
but run it error!
Of course there are a couple of steps missing, before you can use the plugin from the designer/creator - but "running on error" is not enough information to say something useful.
Uwe
cspp
8th November 2010, 10:08
I read the Makefile,
and the SYMLINK = ln -sf
and in my .cshrc:
setenv QMAKESPC solaris-cc-64
thanks
Added after 1 24 minutes:
I modified the Makefile in the src folder:
QMAKE_TARGET = qwt
DESTDIR = ../lib/
TARGET = libqwt.so.5.2.1
TARGETA = ../lib/libqwt.a
TARGET0 = libqwt.so
TARGET1 = libqwt.so.5
TARGET2 = libqwt.so.5.2
and the another segment
all: Makefile ../lib/$(TARGET)
../lib/$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
@$(CHK_DIR_EXISTS) ../lib/ || $(MKDIR) ../lib/
-$(DEL_FILE) -o $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
-$(SYMLINK) $(TARGET) $(TARGET0)
-$(SYMLINK) $(TARGET) $(TARGET1)
-$(SYMLINK) $(TARGET) $(TARGET2)
-$(DEL_FILE) ../lib/$(TARGET)
-$(DEL_FILE) ../lib/$(TARGET0)
-$(DEL_FILE) ../lib/$(TARGET1)
-$(DEL_FILE) ../lib/$(TARGET2)
-$(MOVE) $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) ../lib/
then it will done.
so I want to know,
how to generate the right makefile if I qmake src.pro?
Uwe
8th November 2010, 19:22
I've tried qmake -spec solaris-cc-64 on my box and the lines you have marked with [U] ( were these the lines you added manually ? ) are in my generated Makefile.
The rules for building a library target with qmake are implemented in qmake code itsself and in the platform specific files in the mkspecs directory of your Qt installation. So the missing link should be a problem of your Qt version or installation. Maybe someone manually changed the files in your mkspec sub-directory.
Uwe
cspp
9th November 2010, 00:56
thanks,
I added the market [U] manually:)
The Qt version is Qt4.5.3,and the mkspces is solaris-cc-64.
I added some defines in the qmake.conf,
so whick changes in the file will generate the error Makefile?
Uwe
9th November 2010, 07:23
I added some defines in the qmake.conf
Remove all lines you have added and try if they are really responsible. If yes re-insert them one by one until the generated Makefile is broken again.
Uwe
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.