Hallo ich habe hier Source bekommen, der mit dem Visual Studio unter Widnows erstellt wurde. Der Source besteht aus ein paar Headerdateien und den dazugehörigen .cpp-Dateien. Dann habe ich wie gewohnt ein
Code:
$ qmake -project $ qmake $ make
gemacht. Beim Kompilieren habe ich dann folgende Fehlermeldung bekommen:
Code:
g++ -c -pipe -Wall -W -O2 -DQT_NO_DEBUG -I/afs/wsi/i386_fbsd46/qt-3.1.1/mkspecs/default -I. -I. -I/usr/local/include -I/afs/wsi/i386_fbsd46/qt-3.1.1/include -o about_authors_qt.o about_authors_qt.cpp about_authors_qt.cpp:60: [b]about_authors_qt_moc.cpp: No such file or directory[/b] make: *** [about_authors_qt.o] Error 1
Das ist auch klar, da ich keine moc-Datein bekommen habe. Wie kann ich das Problem lösen? -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
Das Problem liegt daran, dass moc nicht über den Source drübergeht und die Dateien erstellt. Ich weiß aber nicht warum. -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
Also wenn ich das von Hand mache, dann komme ich auf jeden Fall schon mal durch das Compilieren, aber beim Linken kommen dann die Fehlermeldungen. Und zwar besagen die, dass moc alle Funktionen mehrfach definiert hat. Aber das ist nirgends der Fall.... Woran kann das liegen? -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
Ich habe das Problem gefunden: In den .cpp-Dateien steht in der letzten Zeile ein
C++:
#include"dateiname_moc.cpp"
Das kann es natürlich nicht geben, da unter Linux die Dateien alle moc_dateiname.cpp heißen und man diese nicht extra einbinden muss. Anscheinen muss man das unter Windooze aber so machen. Weiß jemand ob das da tatsächlich so ist? -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)Dieser Post wurde am 15.10.2003 um 13:05 Uhr von Loddab editiert.
Das ist das Rahmenprogramm für eine Aufgabe die ich an der Uni bearbeiten soll. Das Programm ist mal abgesehen von diesen Zeilen auch ganz gut, aber die Leute die die Aufgaben stellen schauen nur danach, dass der Code unter Windows im Visual Studio läuft. Für alles andere gibt es keine Hilfe -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)