Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 8 von 8

Thema: Qt4 unter Windows und Libnodave

  1. #1
    Registriert seit
    30.01.2011
    Beiträge
    12
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag,

    ich versuche mittels der QT SDK eine GUI für mein Programm zu Steuerung von S7 - 1200ern zu erstellen. Soweit so Gut, aber wenn ich nun versuche in dieser SDK meinen Quellcode für die Kommunikation zu erstellen bekomme ich einen Fehler:

    undefined reference to ...

    das Problem kenne ich. Ich muss dem Linker die libnodave.lib irgendiwe übergeben. Nur weiss ich nicht wie. In der *.pro Datei habe ich bereits versucht etwas zu editieren, aber bislang ohne Erfolg.
    Auch habe ich was davon gelesen, das der Compiler die *.lib nicht erkennen kann und ich eine *.a brauche.

    Habt Ihr Ideen oder Anregungen, die mich weiter bringen können?

    Vielen Danke im Voraus
    Zitieren Zitieren Qt4 unter Windows und Libnodave  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Was für einen Compiler benutzt du denn in Zusammenhang mit Qt?
    Wenn du den MS-Compiler benutzt brauchst du eine *.lib, beim MinGW und anderen Windows GCC-Clonen brauchst du eine *.a Datei.

    Was hast du denn vor: statisch linken, dynamisch linken (dll)?

  3. #3
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Soll es ein Windows oder Linux Programm werden? (Sorry hab den Titel überlesen!)
    Compiler?

    Häng mal deine .pro Datei an!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  4. Folgender Benutzer sagt Danke zu Jochen Kühner für den nützlichen Beitrag:

    Waddi (17.02.2011)

  5. #4
    Waddi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2011
    Beiträge
    12
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja ich benutze MinGW so wie es aussieht.

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Was hast du denn vor: statisch linken, dynamisch linken (dll)?
    Kann ich dir nicht genau beantworten. Also möchte das Programm halt fertig erstellt haben . Und um libnodave zu erstelln brauche ich ja die libnodave.lib. Soviel weiß ich!

    Hoffe das kommt jetzt nicht zu anfängerhaft rüber.

  6. #5
    Waddi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2011
    Beiträge
    12
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Häng mal deine .pro Datei an!
    Habe nur hinzugefügt:

    LIBS += -llibnodave

    und dann konnte er die Datei nicht finden.
    Angehängte Dateien Angehängte Dateien

  7. #6
    Registriert seit
    13.03.2006
    Beiträge
    428
    Danke
    5
    Erhielt 43 Danke für 43 Beiträge

    Standard

    Offensichlich hast Du die LGPL Version von Qt für MinGW unter Windows.
    Dann hast Du name.a bei statischen Libs.

    Hier poste ich mal einen PRO File aus pvbrowser.
    Da kannst Du das in der Sektion win32-g++ abgucken
    oder gleich http://pvbrowser.org nehmen,
    da ist unter Anderem auch libnodave mit drin.

    ######################################################################
    # generated by pvdevelop at: So. Jan 23 16:34:31 2011
    ######################################################################

    TEMPLATE = app
    CONFIG = warn_on release
    CONFIG -= qt

    # Input
    HEADERS += processviewserver.h
    #HEADERS += rldefine.h
    HEADERS += pvapp.h \
    mask1_slots.h
    SOURCES += main.cpp \
    mask1.cpp

    !macx {
    unix:LIBS += /usr/lib/libpvsmt.so -pthread
    #unix:LIBS += /usr/lib/libpvsid.so
    unix:INCLUDEPATH += /opt/pvb/pvserver
    unix:LIBS += /usr/lib/librllib.so
    unix:INCLUDEPATH += /opt/pvb/rllib/lib
    }

    macx:LIBS += /opt/pvb/pvserver/libpvsmt.a /usr/lib/libpthread.dylib
    #macx:LIBS += /opt/pvb/pvserver/libpvsid.a
    macx:INCLUDEPATH += /opt/pvb/pvserver
    #macx:LIBS += /usr/lib/librllib.dylib
    #macx:INCLUDEPATH += /opt/pvb/rllib/lib

    win32-g++ {
    QMAKE_LFLAGS += -static-libgcc
    #win32:LIBS += "$(PVBDIR)/win-mingw/bin/librllib.a"
    win32:LIBS += "$(PVBDIR)/win-mingw/bin/libserverlib.a" "$(MINGWDIR)/lib/libws2_32.a" "$(MINGWDIR)/lib/libadvapi32.a"
    win32:INCLUDEPATH += "$(PVBDIR)/pvserver"
    #win32:INCLUDEPATH += "$(PVBDIR)/rllib/lib"
    }
    else {
    win32:LIBS += "$(PVBDIR)/win/bin/serverlib.lib" wsock32.lib advapi32.lib
    win32:INCLUDEPATH += "$(PVBDIR)/pvserver"
    #win32:LIBS += "$(PVBDIR)/win/bin/rllib.lib"
    #win32:INCLUDEPATH += "$(PVBDIR)/rllib/lib"
    }

    #DEFINES += USE_INETD
    TARGET = pvs

  8. #7
    Waddi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2011
    Beiträge
    12
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So ich habe es hinbekommen!

    Hab die *.pro geändert und die *.dll in den bin Ordner zur *.exe getan.

    Ein Problem war, dass der angegebene Pfad zur libnodave.lib nicht erkannt worden ist. Ich habe diesen Pfad nu kürzer gewählt und will
    jetzt noch herausfinden warum dieser Pfad nicht akzeptiert worden ist.

    Folgende Zeile habe ich editiert.

    win32:LIBS += "c:/Qt/libnodave.lib"

    Danke
    Geändert von Waddi (16.02.2011 um 14:08 Uhr)

  9. #8
    Registriert seit
    13.03.2006
    Beiträge
    428
    Danke
    5
    Erhielt 43 Danke für 43 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Der Pfad sollte eigentlich beliebig lang sein können.
    Du hast ja auch die Gänsefüsschen um den Pfad gemacht.
    Das wird meist vergessen und geht dann schief, wenn Leerzeichen im Pfad sind.

    Die DLL's müssen beim Starten des Programmes natürlich erst noch gefunden werden.
    Also, entweder in das selbe Verzeichnis kopieren, wie die Anwendung selber oder in einem Pfad der systemweit bekannt ist.

  10. Folgender Benutzer sagt Danke zu pvbrowser für den nützlichen Beitrag:

    Waddi (17.02.2011)

Ähnliche Themen

  1. OPC Server unter Windows CE
    Von higghgetter17 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 20.09.2010, 10:48
  2. NAT unter Windows XP
    Von Neals im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 20.01.2010, 10:13
  3. TCP-Verbindung unter WINDOWS CE
    Von Vogei im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 30.04.2008, 12:05
  4. libnodave unter windows ce 5.0???
    Von Jochen Kühner im Forum HMI
    Antworten: 1
    Letzter Beitrag: 26.06.2007, 09:57
  5. S7-Kommunikation mit Libnodave auch unter Windows
    Von Zottel im Forum Werbung und Produktneuheiten
    Antworten: 4
    Letzter Beitrag: 13.06.2005, 11:58

Lesezeichen

Berechtigungen

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