Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

KDE3 Programm unter KDE4 compilieren

2 views
Skip to first unread message

Axel Braun

unread,
Jan 27, 2010, 6:46:23 AM1/27/10
to
Hallo,

ich nutze ein Programm namens kmessagemodem um von einem USR Flash Modem
Faxe auszulesen. Leider ist das ein KDE3 Programm, welches icht mehr
gepflegt wird :-(

Ich versuche das unter KDE 4.3.4 gegen die KDE3-libraries zu bauen und
bekomme die Fehlermeldung:

/opt/kde3/include/arts/asyncstream.h:63: warning: 'class
Arts::AsyncStream<unsigned char>' has virtual functions and accessible non-
virtual destructor
/opt/kde3/include/arts/asyncstream.h:95: warning: 'class
Arts::ByteAsyncStream' has virtual functions and accessible non-virtual
destructor
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/kde3/include -
I/usr/lib/qt3/include -I. -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-
dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -
D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts
-O2 -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -
fstack-protector -funwind-tables -fasynchronous-unwind-tables -Wformat-
security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-
common -MT connection.o -MD -MP -MF ".deps/connection.Tpo" -c -o
connection.o connection.cpp; \
then mv -f ".deps/connection.Tpo" ".deps/connection.Po"; else rm -f
".deps/connection.Tpo"; exit 1; fi
kmsgmodem.cpp: In member function 'void KMsgModem::SaveFile()':
kmsgmodem.cpp:713: error: 'system' was not declared in this scope
make[2]: *** [kmsgmodem.o] Error 1

Kann einer damit was anfangen?

Thx!
Ax

Peter Köhlmann

unread,
Jan 27, 2010, 8:27:55 AM1/27/10
to
Axel Braun wrote:

Die Meldung am Anfang über die virtuellen Funktionen und Destructoren sind
Warnungen und würden das Bauen der Applikation nicht verhindern.

Dafür ist die Meldung über "system nicht im Scope" interessant. Sie besagt
im Wesentlichen, dass eine Funktion oder eine Variable namens "system"
aufgerufen wird. Es geht jetzt nicht daraus hervor ob die Funktion
"system()" aufgerufen werden soll oder ob eine Variable "system" benutzt
werden soll. In jedem Fall ist sie nicht definiert, also entweder die
nötige Header-Datei für die Funktion "system()" nicht deklariert oder die
Variable "system" nicht in der Header-Datei der Datei kmsgmodem.cpp
definiert
--
It's not about, 'Where do you want to go today?' It's more like,
'Where am I allowed to go today?'

Axel Braun

unread,
Jan 27, 2010, 11:21:41 AM1/27/10
to
Peter Kᅵhlmann wrote:

....


>> kmsgmodem.cpp: In member function 'void KMsgModem::SaveFile()':
>> kmsgmodem.cpp:713: error: 'system' was not declared in this scope
>> make[2]: *** [kmsgmodem.o] Error 1
>

> Dafᅵr ist die Meldung ᅵber "system nicht im Scope" interessant. Sie besagt


> im Wesentlichen, dass eine Funktion oder eine Variable namens "system"
> aufgerufen wird. Es geht jetzt nicht daraus hervor ob die Funktion
> "system()" aufgerufen werden soll oder ob eine Variable "system" benutzt
> werden soll. In jedem Fall ist sie nicht definiert, also entweder die

> nᅵtige Header-Datei fᅵr die Funktion "system()" nicht deklariert oder die


> Variable "system" nicht in der Header-Datei der Datei kmsgmodem.cpp
> definiert

Ja, die Zeile lautet
int rc = system(command);

Ich vermute mal dass die Variable in einer der Header deklariert war, die es
unter KDE4 nicht mehr gibt?

#include <time.h>

#include <kmainwindow.h>
#include <klocale.h>
#include <klistview.h>
#include <qtimer.h>
#include <kmessagebox.h>
#include <kapplication.h>
#include <kconfigdialog.h>
#include <kdebug.h>
#include <kfiledialog.h>

Thx
Ax

Reinhard Tchorz

unread,
Jan 27, 2010, 12:12:44 PM1/27/10
to
Hallo,

> Ja, die Zeile lautet
> int rc = system(command);
>
> Ich vermute mal dass die Variable in einer der Header deklariert war, die es
> unter KDE4 nicht mehr gibt?
>
> #include <time.h>
>
> #include <kmainwindow.h>
> #include <klocale.h>
> #include <klistview.h>
> #include <qtimer.h>
> #include <kmessagebox.h>
> #include <kapplication.h>
> #include <kconfigdialog.h>
> #include <kdebug.h>
> #include <kfiledialog.h>
>
> Thx
> Ax


Die Funktion ist eine Systemfunktion die gar nichts mit KDE zu tun hat.
Die gibt also immer und ist in der Header-Datei stdlib.h definiert.
Ich habe schon mal festgestellt, dass sich die gegenseitige Abhᅵngigkeiten
der Header-Dateien ᅵndern. Kann also gut mᅵglich sein, dass frᅵher
mal die stdlib.h automatisch mit der time.h geladen wurde.

Wenn also #include <stdlib.h> eingefᅵgt wird, dann mᅵsste es eigentlich
klappen

Reinhard


--
Gentoo Kernel 2.6.32 X-Server 1.6.5 KDE 4.3.4
Asus M2A-VM AMD Athlon X2 4450e Nvidia 7300LE

Axel Braun

unread,
Jan 28, 2010, 4:37:18 AM1/28/10
to
Reinhard Tchorz wrote:

> Wenn also #include <stdlib.h> eingefᅵgt wird, dann mᅵsste es eigentlich
> klappen

Yep, das wars! Rebuild hat auf dem Buildservice geklappt!

Vielen Dank
Axel

0 new messages