compile error

Cristian Ionescu-Idbohrn cristian.ionescu-idbohrn at axis.com
Sat Oct 5 02:12:31 UTC 2013


On Fri, 4 Oct 2013, Thiago Macieira wrote:
> On sexta-feira, 4 de outubro de 2013 23:39:01, Cristian Ionescu-Idbohrn wrote:
> >
> > Yes.  Still same thing:
> >
> > g++ -Wall -g     -c -o qthelper.o qthelper.cpp
> > In file included from qthelper.cpp:1:0:
> > qthelper.h:4:21: fatal error: QMultiMap: No such file or directory
> >  #include <QMultiMap>
> >                      ^
> > compilation terminated.
>
> I don't get it.
>
> It looks like EXTRA_FLAGS is empty for you guys, but Makefile sets it to:
>
> EXTRA_FLAGS =  $(QTCXXFLAGS) $(GTKCFLAGS) $(GLIB2CFLAGS) $(XML2CFLAGS) \
>                $(LIBDIVECOMPUTERCFLAGS) \
>                $(LIBSOUPCFLAGS) $(GCONF2CFLAGS) -I. -DQT_NO_STL
>
> Since you're missing even the -I -DQT_NO_STL part, it can't be the variable,
> but the command-line to compile.
>
> What version of make are you guys using?

Unrelated, IMO, but here you are:

	GNU Make 3.81
	This program built for x86_64-pc-linux-gnu

This may help you get to the bottom:

diff --git a/Rules.mk b/Rules.mk
index a62b1be..0644174 100644
--- a/Rules.mk
+++ b/Rules.mk
@@ -185,7 +185,7 @@ MOCFLAGS = $(filter -I%, $(CXXFLAGS) $(EXTRA_FLAGS)) $(filter -D%, $(CXXFLAGS) $
 	@mkdir -p .dep/$(@D)
 	$(COMPILE_PREFIX)$(CC) $(CFLAGS) $(EXTRA_FLAGS) -MD -MF .dep/$@.dep -c -o $@ $<

-%.o: %.cpp $(UIC_HEADERS)
+%.o: %.cpp $(uicables)
 	@$(PRETTYECHO) '    CXX' $<
 	@mkdir -p .dep/$(@D)
 	$(COMPILE_PREFIX)$(CXX) $(CXXFLAGS) $(EXTRA_FLAGS) -I.uic -Iqt-ui -MD -MF .dep/$@.dep -c -o $@ $<

$ make
...
    CC libdivecomputer.c
    CC linux.c
    CXX qthelper.cpp
    UIC qt-ui/renumber.ui
    CXX qt-ui/simplewidgets.cpp
    UIC qt-ui/tableview.ui
    CXX qt-ui/tableview.cpp
    UIC qt-ui/mainwindow.ui
    UIC qt-ui/downloadfromdivecomputer.ui
    UIC qt-ui/preferences.ui
    UIC qt-ui/subsurfacewebservices.ui
    UIC qt-ui/divecomputermanagementdialog.ui
    UIC qt-ui/diveplanner.ui
    UIC qt-ui/about.ui
    UIC qt-ui/printoptions.ui
    CXX qt-ui/mainwindow.cpp
In file included from .uic/ui_mainwindow.h:30:0,
                 from qt-ui/mainwindow.h:13,
                 from qt-ui/mainwindow.cpp:6:
./qt-ui/maintab.h:15:24: fatal error: ui_maintab.h: No such file or
directory
 #include "ui_maintab.h"
                        ^
compilation terminated.

$ make ui_maintab.h
    UIC qt-ui/maintab.ui

$ make
    UIC qt-ui/mainwindow.ui
    UIC qt-ui/downloadfromdivecomputer.ui
    UIC qt-ui/preferences.ui
    UIC qt-ui/subsurfacewebservices.ui
    UIC qt-ui/divecomputermanagementdialog.ui
    UIC qt-ui/diveplanner.ui
    UIC qt-ui/about.ui
    UIC qt-ui/printoptions.ui
    CXX qt-ui/mainwindow.cpp
...
    CXX qt-ui/maintab.cpp
    MOC qt-gui.cpp
    CXX qt-gui.cpp
    CXX main.cpp
    RCC subsurface.qrc
    CXX subsurface.qrc.cpp
    MOC qt-ui/divelistview.h
    CXX qt-ui/divelistview.moc.cpp
    MOC qt-ui/maintab.h
    CXX qt-ui/maintab.moc.cpp
    MOC qt-ui/mainwindow.h
    CXX qt-ui/mainwindow.moc.cpp
...
    MOC qt-ui/tableview.h
    CXX qt-ui/tableview.moc.cpp
    MSGFMT bg_BG.po
    MSGFMT ca_ES.po
...
    LINK subsurface
make -C Documentation doc
make[1]: Entering directory `.../subsurface/Documentation'
make[1]: Nothing to be done for `doc'.
make[1]: Leaving directory `.../subsurface/Documentation'
rm qt-ui/preferences.moc.cpp qt-ui/globe.moc.cpp qt-ui/printdialog.moc.cpp
qt-ui/completionmodels.moc.cpp qt-ui/modeldelegates.moc.cpp
qt-ui/kmessagewidget.moc.cpp qt-ui/subsurfacewebservices.moc.cpp
qt-ui/starwidget.moc.cpp qt-ui/printoptions.moc.cpp
qt-ui/tableview.moc.cpp qt-ui/divelistview.moc.cpp
qt-ui/downloadfromdivecomputer.moc.cpp qt-ui/diveplanner.moc.cpp
qt-ui/models.moc.cpp qt-ui/about.moc.cpp qt-ui/profilegraphics.moc.cpp
qt-ui/maintab.moc.cpp qt-ui/simplewidgets.moc.cpp qt-ui/mainwindow.moc.cpp
qt-ui/printlayout.moc.cpp qt-ui/divecomputermanagementdialog.moc.cpp

$ echo $?
0

I get something I can use :)


Cheers,

-- 
Cristian


More information about the subsurface mailing list