Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. undefined reference
Forum Updated to NodeBB v4.3 + New Features

undefined reference

Scheduled Pinned Locked Moved Unsolved German
15 Posts 5 Posters 1.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MHage
    wrote on last edited by
    #5

    Ich habe die beiden Dateien hdlc.c und hdlc.h in der pro hinzugefügt.
    Bekomme jetzt zwar nur noch eine Meldung (vorerst)

    :-1: Fehler: No rule to make target 'tinyproto/src/proto/hdlc/high_level/hdlc.c', needed by 'hdlc.o'. Stop.

    jsulmJ 1 Reply Last reply
    0
    • M MHage

      Ich habe die beiden Dateien hdlc.c und hdlc.h in der pro hinzugefügt.
      Bekomme jetzt zwar nur noch eine Meldung (vorerst)

      :-1: Fehler: No rule to make target 'tinyproto/src/proto/hdlc/high_level/hdlc.c', needed by 'hdlc.o'. Stop.

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #6

      @MHage Bitte zeige deine pro Datei.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • M Offline
        M Offline
        MHage
        wrote on last edited by
        #7
        QT       += core gui serialport
        
        
        greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
        
        CONFIG += c++11
        
        # You can make your code fail to compile if it uses deprecated APIs.
        # In order to do so, uncomment the following line.
        #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
        
        SOURCES += \
            console.cpp \
            main.cpp \
            mainwindow.cpp \
            mydelegate.cpp \
            settingsdialog.cpp \
            terminalwindow.cpp
        
        
        HEADERS += \
            console.h \
            mainwindow.h \
            mydelegate.h \
            settingsdialog.h \
            terminalwindow.h \
            
        
        FORMS += \
            mainwindow.ui \
            settingsdialog.ui \
            terminalwindow.ui
        
        # Default rules for deployment.
        qnx: target.path = /tmp/$${TARGET}/bin
        else: unix:!android: target.path = /opt/$${TARGET}/bin
        !isEmpty(target.path): INSTALLS += target
        
        win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../usr/lib/release/ -lqwt-qt5
        else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../../usr/lib/debug/ -lqwt-qt5
        else:unix: LIBS += -L$$PWD/../../../../../../../usr/lib/ -lqwt-qt5
        
        INCLUDEPATH += $$PWD/../../../../../../../usr/include/qwt
        DEPENDPATH += $$PWD/../../../../../../../usr/include/qwt
        
        RESOURCES += \
            Dateien.qrc
        
        
        win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/release/ -ltinyprotocol
        else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/debug/ -ltinyprotocol
        else:unix: LIBS += -L$$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/ -ltinyprotocol
        
        INCLUDEPATH += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/include
        DEPENDPATH += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/include
        
        win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/release/libtinyprotocol.a
        else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/debug/libtinyprotocol.a
        else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/release/tinyprotocol.lib
        else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/debug/tinyprotocol.lib
        else:unix: PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/libtinyprotocol.a
        
        
        jsulmJ Christian EhrlicherC 2 Replies Last reply
        0
        • M MHage
          QT       += core gui serialport
          
          
          greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
          
          CONFIG += c++11
          
          # You can make your code fail to compile if it uses deprecated APIs.
          # In order to do so, uncomment the following line.
          #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
          
          SOURCES += \
              console.cpp \
              main.cpp \
              mainwindow.cpp \
              mydelegate.cpp \
              settingsdialog.cpp \
              terminalwindow.cpp
          
          
          HEADERS += \
              console.h \
              mainwindow.h \
              mydelegate.h \
              settingsdialog.h \
              terminalwindow.h \
              
          
          FORMS += \
              mainwindow.ui \
              settingsdialog.ui \
              terminalwindow.ui
          
          # Default rules for deployment.
          qnx: target.path = /tmp/$${TARGET}/bin
          else: unix:!android: target.path = /opt/$${TARGET}/bin
          !isEmpty(target.path): INSTALLS += target
          
          win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../usr/lib/release/ -lqwt-qt5
          else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../../usr/lib/debug/ -lqwt-qt5
          else:unix: LIBS += -L$$PWD/../../../../../../../usr/lib/ -lqwt-qt5
          
          INCLUDEPATH += $$PWD/../../../../../../../usr/include/qwt
          DEPENDPATH += $$PWD/../../../../../../../usr/include/qwt
          
          RESOURCES += \
              Dateien.qrc
          
          
          win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/release/ -ltinyprotocol
          else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/debug/ -ltinyprotocol
          else:unix: LIBS += -L$$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/ -ltinyprotocol
          
          INCLUDEPATH += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/include
          DEPENDPATH += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/include
          
          win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/release/libtinyprotocol.a
          else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/debug/libtinyprotocol.a
          else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/release/tinyprotocol.lib
          else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/debug/tinyprotocol.lib
          else:unix: PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/libtinyprotocol.a
          
          
          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #8

          @MHage Ich sehe nichts was mit HDLC zu tun hat in deinem pro File...

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • M MHage
            QT       += core gui serialport
            
            
            greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
            
            CONFIG += c++11
            
            # You can make your code fail to compile if it uses deprecated APIs.
            # In order to do so, uncomment the following line.
            #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
            
            SOURCES += \
                console.cpp \
                main.cpp \
                mainwindow.cpp \
                mydelegate.cpp \
                settingsdialog.cpp \
                terminalwindow.cpp
            
            
            HEADERS += \
                console.h \
                mainwindow.h \
                mydelegate.h \
                settingsdialog.h \
                terminalwindow.h \
                
            
            FORMS += \
                mainwindow.ui \
                settingsdialog.ui \
                terminalwindow.ui
            
            # Default rules for deployment.
            qnx: target.path = /tmp/$${TARGET}/bin
            else: unix:!android: target.path = /opt/$${TARGET}/bin
            !isEmpty(target.path): INSTALLS += target
            
            win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../usr/lib/release/ -lqwt-qt5
            else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../../usr/lib/debug/ -lqwt-qt5
            else:unix: LIBS += -L$$PWD/../../../../../../../usr/lib/ -lqwt-qt5
            
            INCLUDEPATH += $$PWD/../../../../../../../usr/include/qwt
            DEPENDPATH += $$PWD/../../../../../../../usr/include/qwt
            
            RESOURCES += \
                Dateien.qrc
            
            
            win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/release/ -ltinyprotocol
            else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/debug/ -ltinyprotocol
            else:unix: LIBS += -L$$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/ -ltinyprotocol
            
            INCLUDEPATH += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/include
            DEPENDPATH += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/include
            
            win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/release/libtinyprotocol.a
            else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/debug/libtinyprotocol.a
            else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/release/tinyprotocol.lib
            else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/debug/tinyprotocol.lib
            else:unix: PRE_TARGETDEPS += $$PWD/../../../../../../../usr/include/x86_64-linux-gnu/qt5/tinyproto/lib/libtinyprotocol.a
            
            
            Christian EhrlicherC Offline
            Christian EhrlicherC Offline
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on last edited by
            #9

            @MHage said in undefined reference:

            -L$$PWD/../../../../../../../usr/lib/release/

            Was sind das alles für krude relative Pfade (abgesehen davon dass es unter Windows diese sicher nicht gibt)?
            Hast Du die andere Library selbst gebaut? Und wie sehen die Fehlermeldungen genau aus?

            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
            Visit the Qt Academy at https://academy.qt.io/catalog

            1 Reply Last reply
            1
            • M Offline
              M Offline
              MHage
              wrote on last edited by
              #10

              Diese Bibliothek ist für Linux, Windows, AVR bzw. Arduino.
              Ob HDLC, Light oder auch FD verwendet wird ist eine Sache der Definition. Siehe TinyProto.h
              in der Bibliothek libtinyprotocol.a bzw. im include Pfad soll eigentlich alles enthalten sein was man für die unterschiedlichen Protokolle braucht.

              Ganz ehrlich? Ich beschäftige mich nun seit mehreren Tagen mit dem Teil. Auf dem Mikrocontroller habe ich es auch schon fertig implementiert. Der Bibliothek liegt ein "loopback" tool bei, mit dem man das testen kann.
              Also auf dem Mikrocontroller ist es erstmal soweit, das ich eine Verbindung testen könnte.

              Leider durchschaue ich aber die Probleme bei Qt nicht. Als ich z.b. die qwt Bibliothek eingebunden habe, sind auch die komischen Pfade entstanden. Siehe pro .

              Da gab es beim übersetzen überhaupt keine Probleme. Wie gesagt, bislang musste ich mir um den Linker noch keine Gedanken machen.

              Diese Pfade sind beim hinzufügen der "externen Bibliothek" angelegt worden.
              Da ich Qt noch nicht lange genug kenne, geschweige denn die Strukturen, kann ich mich auch nur wundern.

              Wäre nett, wenn ihr mir mal zeigt, wie man es richtig macht.
              Hätte auch nie gedacht, das der Umstieg von einer IDE auf eine andere mir so viele Kopfschmerzen bereiten würde.

              S 1 Reply Last reply
              0
              • M Offline
                M Offline
                MHage
                wrote on last edited by
                #11

                Vielleicht bin ich einen kleinen Schritt weiter...

                habe in der pro folgendes hinzugefügt:

                QMAKE_CXXFLAGS += -fPIC -pthread -pg -fexceptions
                QMAKE_CFLAGS += -g
                QMAKE_LFLAGS += -L. -lm -shared -pthread -ltinyprotocol
                

                Damit scheint er zu übersetzen. Leider stürzt das Programm ab bevor sich das Form öffnet.
                Allerdings ohne wirkliche Fehlermeldung. Wie kann ich denn jetzt herausfinden, warum er abstürzt?

                jsulmJ J.HilkJ 2 Replies Last reply
                0
                • M MHage

                  Vielleicht bin ich einen kleinen Schritt weiter...

                  habe in der pro folgendes hinzugefügt:

                  QMAKE_CXXFLAGS += -fPIC -pthread -pg -fexceptions
                  QMAKE_CFLAGS += -g
                  QMAKE_LFLAGS += -L. -lm -shared -pthread -ltinyprotocol
                  

                  Damit scheint er zu übersetzen. Leider stürzt das Programm ab bevor sich das Form öffnet.
                  Allerdings ohne wirkliche Fehlermeldung. Wie kann ich denn jetzt herausfinden, warum er abstürzt?

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #12

                  @MHage said in undefined reference:

                  Wie kann ich denn jetzt herausfinden, warum er abstürzt?

                  Debugger

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • M MHage

                    Vielleicht bin ich einen kleinen Schritt weiter...

                    habe in der pro folgendes hinzugefügt:

                    QMAKE_CXXFLAGS += -fPIC -pthread -pg -fexceptions
                    QMAKE_CFLAGS += -g
                    QMAKE_LFLAGS += -L. -lm -shared -pthread -ltinyprotocol
                    

                    Damit scheint er zu übersetzen. Leider stürzt das Programm ab bevor sich das Form öffnet.
                    Allerdings ohne wirkliche Fehlermeldung. Wie kann ich denn jetzt herausfinden, warum er abstürzt?

                    J.HilkJ Online
                    J.HilkJ Online
                    J.Hilk
                    Moderators
                    wrote on last edited by
                    #13

                    @MHage
                    du hattest zuvor geschrieben:

                    Das Teil übersetzt und als externe Bibliothek eingebunden

                    verwendest du nun auch den gleichen Compiler für das Qt Projekt wie auch für die Bibliothek?


                    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                    Q: What's that?
                    A: It's blue light.
                    Q: What does it do?
                    A: It turns blue.

                    1 Reply Last reply
                    0
                    • M MHage

                      Diese Bibliothek ist für Linux, Windows, AVR bzw. Arduino.
                      Ob HDLC, Light oder auch FD verwendet wird ist eine Sache der Definition. Siehe TinyProto.h
                      in der Bibliothek libtinyprotocol.a bzw. im include Pfad soll eigentlich alles enthalten sein was man für die unterschiedlichen Protokolle braucht.

                      Ganz ehrlich? Ich beschäftige mich nun seit mehreren Tagen mit dem Teil. Auf dem Mikrocontroller habe ich es auch schon fertig implementiert. Der Bibliothek liegt ein "loopback" tool bei, mit dem man das testen kann.
                      Also auf dem Mikrocontroller ist es erstmal soweit, das ich eine Verbindung testen könnte.

                      Leider durchschaue ich aber die Probleme bei Qt nicht. Als ich z.b. die qwt Bibliothek eingebunden habe, sind auch die komischen Pfade entstanden. Siehe pro .

                      Da gab es beim übersetzen überhaupt keine Probleme. Wie gesagt, bislang musste ich mir um den Linker noch keine Gedanken machen.

                      Diese Pfade sind beim hinzufügen der "externen Bibliothek" angelegt worden.
                      Da ich Qt noch nicht lange genug kenne, geschweige denn die Strukturen, kann ich mich auch nur wundern.

                      Wäre nett, wenn ihr mir mal zeigt, wie man es richtig macht.
                      Hätte auch nie gedacht, das der Umstieg von einer IDE auf eine andere mir so viele Kopfschmerzen bereiten würde.

                      S Offline
                      S Offline
                      SimonSchroeder
                      wrote on last edited by
                      #14

                      @MHage said in undefined reference:

                      Als ich z.b. die qwt Bibliothek eingebunden habe, sind auch die komischen Pfade entstanden.

                      Klassischerweise wird für qwt ein .pri-Datei in der .pro-Datei inkludiert. Ich würde vorschlagen deine händischen include- und lib-Pfade dadurch zu ersetzen. Das wird aber nicht dein aktuelle Problem lösen.

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        MHage
                        wrote on last edited by MHage
                        #15

                        Moin,

                        diese Pfade habe ich so nicht angelegt. Das kam beim importieren der externen Bibliothek automatisch.
                        Ich habe aber rausgefunden, warum er das so komisch anlegt und habe es dadurch korrigiert, das ich die Bibliothek anders abgelegt habe.

                        verwendest du nun auch den gleichen Compiler für das Qt Projekt wie auch für die Bibliothek?
                        

                        Das ist eine gute Frage... Habe ich noch gar nicht dran gedacht.
                        Ich habe, simple gestrickt wie ich manchmal bin, einfach Terminal auf und los gehts....
                        einfach mal drauf los übersetzt...

                        Das Programm läuft nun und stürzt auch nicht mehr ab.

                        Der Absturz kam auch gar nicht von der Protokoll Bibliothek, sondern von einer anderen Stelle im Programm.
                        Ich hatte von qwt die aktuelleste Version übersetzt und die alte Version entfernt. Daher kam die Ursache.

                        Was die Protokoll Bibliothek angeht, hat folgende Zeile in der pro zum Erfolg geführt:

                        QMAKE_LFLAGS +=  -ltinyprotocol
                        

                        Vielen Dank für eure Hilfe...

                        1 Reply Last reply
                        1

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved