Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 22

Thema: Problem mit qmake

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.05.2003
    Beiträge
    226

    Problem mit qmake

    Hallo Leute,

    ich habe ein Problem mit qmake bzw. dem erstellten makefile.

    Ich habe den Quellcode für ein Programm heruntergeladen. In der Anleitung heißt es: Run "qmake -o Makefile RA_GUI.pro". Run "make".
    Genau das habe ich gemacht. Die Fehlermeldung lautet:
    Makefile:59 *** missing separator. Stop.

    Was bedeutet das, und was kann ich nun machen?

    Ich arbeite übrigens unter Windows 98. Es waren auch irgendwelche Perl-Skripte dabei, aber damit kenne ich mich gar nicht aus. Kann man die überhaupt unter Windows laufen lassen?

    Schöne Grüße,
    Kirstin

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    nmake statt make aufrufen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.05.2003
    Beiträge
    226
    Hallo anda_skoa,

    nmake gibt es irgendwie nicht. Wie hängt denn das Ganze überhaupt zusammen? Gehören nmake, qmake und make zu Visual C++? Ich weiß nämlich gar nicht mehr, woher ich das alles habe.

    Wo bekomme ich nmake her? Oder muss ich nur einen Pfad eintragen?

    Das Ganze mache ich doch unter der MS-DOS-Eingabeaufforderung, oder?

    Schöne Grüße,
    Kirstin

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von Kirsche
    nmake gibt es irgendwie nicht. Wie hängt denn das Ganze überhaupt zusammen? Gehören nmake, qmake und make zu Visual C++? Ich weiß nämlich gar nicht mehr, woher ich das alles habe.
    qmake gehört zu Qt, make gibt es normaleweise auf einem leeren Windowssystem nicht und nmake gehört zu Microsofts Commandline Compiler Paket, wo auch der Compiler cl.exe drinnen ist.
    Wird vermutlich mit Visual C++ mitinstalliert.

    Könnte sein, daß das betroffene Verzeichnis nicht im Pfad ist

    Das Ganze mache ich doch unter der MS-DOS-Eingabeaufforderung, oder?
    Ja, korrekt.
    Da der qmake Aufruf geklappt hat, scheint QMAKESPEC gesetzt zu sein, ich muß das immer händisch setzen (auf win32-msvc für cl)

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    QMake gehört zu Qt und erstellst dir das Makefile.

    nmake gehört zu Visual Studio und macht das was im Makefile steht (kompilieren). Das liegt irgendwo in so nem Ordner von MSVC - musst halt den dem PATH hinzufügen oder den absoluten Pfad eingeben damit er nmake findet.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  6. #6
    Registrierter Benutzer
    Registriert seit
    17.05.2003
    Beiträge
    226
    Hallo anda_skoa, hallo Peschmä,

    danke für die Erklärungen. Ich habe den Pfad eingetragen. nmake läuft jetzt. Allerdings bekomme ich beim Compilieren Fehlermeldungen. Zuerst fehlte eine dll. Die habe ich gefunden und einfach mit in den Ordner kopiert. Dann konnte die Header-Datei "unistd.h" nicht gefunden werde. Die habe ich dann im gnu-Compiler gefunden und auch kopiert. Die braucht wiederum io.h. Wenn ich diese auch kopiere, bekomme ich folgende Fehlermeldung:

    cl -c -nologo -Zm200 -W3 -MD -O1 -GX -DUNICODE -DQT_DLL -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -I"." -I"C:\QT\32~1.1NO\include" -I"" -I"C:\Programm\RATools\gui" -I"C:\QT\32~1.1NO\mkspecs\win32-msvc" -Fo @C:\WINDOWS\TEMP\nma92979.
    RA_GUI.cpp
    .\io.h(191) : error C2629: 'int (' unerwartet
    .\io.h(223) : warning C4273: '_unlink' : Inkonsistente DLL-Bindung. dllexport angenommen.
    .\io.h(260) : warning C4273: 'fileno' : Inkonsistente DLL-Bindung. dllexport angenommen.
    .\io.h(268) : warning C4273: 'unlink' : Inkonsistente DLL-Bindung. dllexport angenommen.
    .\RA_Pipeline.h(105) : error C2065: 'symlink' : nichtdeklarierter Bezeichner

    Nun weiß ich gar nicht mehr weiter.

    Übrigens: das ui-File war eigentlich zu neu: 3.3 statt 3.2. Ich habe es einfach umgeändert, weil die Oberfläche so simpel ist, dass 3.2 auch ausreichen müsste. Der Fehler dürfte also nicht davon abhängen. Ich denke, die GUI wird richtig kompiliert, nur das eigentliche Programm nicht.

    Schöne Grüße,
    Kirstin

  7. #7
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Statt includes kopieren besser die Pfade im .pro-File hinzufügen und so:
    INCLUDEPATH += foo

    Zum Rest: Keine Ahnung, ich hab wenn schon QtWin/Free verwendet und nicht Trolltechs offizielles Qt-NonCommercial.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  8. #8
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von Kirsche
    Zuerst fehlte eine dll. Die habe ich gefunden und einfach mit in den Ordner kopiert.
    Das kann man im Normalfall auch im .pro File eintragen.

    Dann konnte die Header-Datei "unistd.h" nicht gefunden werde. Die habe ich dann im gnu-Compiler gefunden und auch kopiert. Die braucht wiederum io.h.
    Das könnten POSIX Header sein, also unter Windows nur in Verbindung mit einer POSiX Umgebung funktionieren.

    Falls das der Fall ist, müßte man für die verwendeten Funktionen die entsprechenden Funktion aus der WinAPI ermitteln und stattdessen einbauen, bzw. über bedingte Kompilierung.

    .\RA_Pipeline.h(105) : error C2065: 'symlink' : nichtdeklarierter Bezeichner
    Symlinks werden AFAIK von keinen Filesystem unter Windows unterstützt.

    Übrigens: das ui-File war eigentlich zu neu: 3.3 statt 3.2. Ich habe es einfach umgeändert, weil die Oberfläche so simpel ist, dass 3.2 auch ausreichen müsste.
    Das ist meiner Erfahrung nach egal, d.h. man kann da auch händisch 3.1 eintragen, geht immer noch.

    Der Fehler dürfte also nicht davon abhängen. Ich denke, die GUI wird richtig kompiliert, nur das eigentliche Programm nicht.
    Vermutlich wurde das Programm für eine POSIX kompatible Plattform geschrieben, also alles außer Windows.
    Leider hat Microsoft in seinem Bestreben die Entwickler an seine Plattform zu binden, das Portieren von POSIX Code so schwer wie möglich gemacht.

    Etwas das man als Entwickler unter Windows oder als Entwickler plattformübergreifender Software leider hinnehmen und darum herum arbeiten muß.

    Falls die Header in der Windows Portierung des GNU Compilers enthalten waren, könnest du das Programm statt mit dem MSVC Compiler mit diesem übersetzen.
    Dann könnte es im besten Falle ohne Änderung ablaufen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  9. #9
    Registrierter Benutzer
    Registriert seit
    17.05.2003
    Beiträge
    226
    Hallo anda_skoa,

    ich habe jetzt mal versucht, nur das Programm ohne die GUI zu kompilieren. Da bekomme ich die Fehlermeldung, dass es tiffio.h nicht gibt. Ich habe im Internet ein bisschen danach gesucht, aber nicht wirklich was gefunden. Irgendwie hat das was mit Graphik zu tun, aber ich weiß nicht, wo ich es herbekomme und ob es dann auch für Windows ist.

    Weißt du was dazu?

    Schöne Grüße,
    Kirstin
    Kirstin

  10. #10
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Das tiffio.h Dings gehört zu libtiff: http://www.remotesensing.org/libtiff/

    Davon gibts auch Windows-Binaries und so.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  11. #11
    Registrierter Benutzer
    Registriert seit
    17.05.2003
    Beiträge
    226
    Hallo Peschmä,

    ich habe mir jetzt GnuWin32 heruntergeladen. Da ist tiffio.h mit dabei. Die Datei wird allerdings nicht gefunden. Wie gebe ich den Pfad zu dieser Datei beim Kompilieren an? Ich habe den Pfad von GnuWin32 in die Autoexec.bat geschrieben, aber es klappt nicht. Ich bekomme immer noch die Fehlermeldung. Oder muss ich irgendwie eine dll erstellen?

    Über die von dir genannte Seite komme ich auf eine andere, auf der es einen Unterpunkt "Building the Software under Windows 95/98/NT/2000 with MS VC++"
    Muss ich das machen? Ich verstehe das Ganze nicht. Ich weiß einfach nicht, wie die Zusammenhänge sind.

    Schöne Grüße,
    Kirstin
    Kirstin

  12. #12
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von Kirsche
    ich habe mir jetzt GnuWin32 heruntergeladen. Da ist tiffio.h mit dabei. Die Datei wird allerdings nicht gefunden. Wie gebe ich den Pfad zu dieser Datei beim Kompilieren an?
    Zum Beispiel in INCLUDEPATH im .pro File.
    Aber besser du kontrollierts vorher, daß die QMAKESPEC richtig gesetzt hast.
    win32-g++ wenn ich mich nicht irre.

    Über die von dir genannte Seite komme ich auf eine andere, auf der es einen Unterpunkt "Building the Software under Windows 95/98/NT/2000 with MS VC++"
    Muss ich das machen? Ich verstehe das Ganze nicht. Ich weiß einfach nicht, wie die Zusammenhänge sind.
    Das ist für den Fall, daß du weiter MSVC++ als Compiler benutzen willst.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  13. #13
    Registrierter Benutzer
    Registriert seit
    17.05.2003
    Beiträge
    226
    Hallo anda_skoa,

    bei mir steht Folgendes in der Autoexec.bat:

    set QMAKESPEC=win32-msvc

    Ist das falsch? Soll ich stattdessen "win32-g++" eintragen? Geht dann Visual C++ noch?

    Schöne Grüße,
    Kirstin

  14. #14
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    QMAKESPEC gibt qmake an, für welchen Compiler er das Makefile erstellen soll.

    Wenn du ein Makefile für cl und nmake haben willst, ist win32-msvc richtig, wenn du ein Makefile für g++ habe willst, ist win32-g++ richtig.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  15. #15
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Zitat Zitat von Kirsche
    Hallo Peschmä,

    ich habe mir jetzt GnuWin32 heruntergeladen. Da ist tiffio.h mit dabei. Die Datei wird allerdings nicht gefunden. Wie gebe ich den Pfad zu dieser Datei beim Kompilieren an? Ich habe den Pfad von GnuWin32 in die Autoexec.bat geschrieben, aber es klappt nicht. Ich bekomme immer noch die Fehlermeldung. Oder muss ich irgendwie eine dll erstellen?

    Über die von dir genannte Seite komme ich auf eine andere, auf der es einen Unterpunkt "Building the Software under Windows 95/98/NT/2000 with MS VC++"
    Muss ich das machen? Ich verstehe das Ganze nicht. Ich weiß einfach nicht, wie die Zusammenhänge sind.

    Schöne Grüße,
    Kirstin
    Ich weiss jetzt nicht mehr wie es unter Win98 gewesen ist aber für normal kannst du die Umgebungsvariablen Einstellen.
    Rechte Maustaste auf Desktop und Eigenschaften - dort die Option Umgebungs-Variablen suchen - QT trägt sich dort selbst ein. Du kannst weiter Pfade getrennt mit Semicolon hinzufügen und danach neu Booten
    mfg undefined
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •