Bekomme Programm nicht kompiliert

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Saebelzahltieger
Beiträge: 173
Registriert: 10.02.2011 10:27:25

Bekomme Programm nicht kompiliert

Beitrag von Saebelzahltieger » 12.06.2022 10:24:14

Hallo.

Ich bekomme fogendes Programm nicht nicht kompiliert. Es funktioniert alles nur make sagt es finde keine steuerdatei. Ich habe hier debian testing. Das Programm was ich meine ist unter https://github.com/u-235/edytornc zufinden

paedubucher
Beiträge: 938
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: Bekomme Programm nicht kompiliert

Beitrag von paedubucher » 12.06.2022 10:52:13

Also ich sehe da kein Makefile. Offenbar verwendet das Projekt ein anderes Build-System, wobei mir schleierhaft ist, welches. (Offenbar handelt es sich um qmake, wie du unten am README erkennen kannst.)
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Benutzeravatar
Saebelzahltieger
Beiträge: 173
Registriert: 10.02.2011 10:27:25

Re: Bekomme Programm nicht kompiliert

Beitrag von Saebelzahltieger » 12.06.2022 15:59:09

Mit qmake soll man wohl erst ein makefile bauen, habe ich aber noch nie gemacht. welchen parameter muss ich bei qmake angeben das der mir ein makefile baut ?

eggy
Beiträge: 3334
Registriert: 10.05.2008 11:23:50

Re: Bekomme Programm nicht kompiliert

Beitrag von eggy » 12.06.2022 16:12:03

@paedubucher: qmake, erkennt man am .pro
.pro ist das "makefile"/die config für qmake
.pri ist auch sowas wie nen .pro, nur als include für das übergeordnete .pro, damit wird in der Regel nen Unterprojekt, nen Plugin, nen Testcase etc angelegt, oder Dinge die in mehreren Projekten gebraucht werden strukturiert.

Eigentlich reicht nen "qmake" in dem Verzeichnis, wo das pro liegt. Dann wird das Makefile da erzeugt wo man ist. Wenn man sich nicht das Verzeichnis zumüllen lassen will, muss man Doku lesen oder einfach den qtcreator nehmen, das vereinfacht vieles.

Benutzeravatar
Saebelzahltieger
Beiträge: 173
Registriert: 10.02.2011 10:27:25

Re: Bekomme Programm nicht kompiliert

Beitrag von Saebelzahltieger » 12.06.2022 18:45:29

mit make geht es jetzt aber er bricht noch beim bauen ab. Es scheint noch was zu fehlen. Ich habe an dem rechner keinen serielen anschluss, nur einen usb stickt von usb auf serial als com.

Code: Alles auswählen

Project MESSAGE: seting PREFIX = /usr/local/
Project ERROR: Unknown module(s) in QT: serialport
make: *** [Makefile:91: sub-src-make_first-ordered] Fehler 3

vmp
Beiträge: 24
Registriert: 16.09.2019 23:14:53

Re: Bekomme Programm nicht kompiliert

Beitrag von vmp » 12.06.2022 19:57:55

Code: Alles auswählen

sudo apt install qt5-default qtbase5-dev-tools qt5-qmake

Code: Alles auswählen

sudo apt install libqt5serialport5-dev

Code: Alles auswählen

cd edytornc

Code: Alles auswählen

qmake PREFIX=/usr/local edytornc.pro
Bei mir wurde edytornc erzeugt ohne Fehler auf Ubuntu 18.04 und 20.04.
Zuletzt geändert von vmp am 14.06.2022 14:47:19, insgesamt 4-mal geändert.

Benutzeravatar
Saebelzahltieger
Beiträge: 173
Registriert: 10.02.2011 10:27:25

Re: Bekomme Programm nicht kompiliert

Beitrag von Saebelzahltieger » 12.06.2022 21:08:48

Jetzt bringt er mir noch einen fehler. Mir fehlt wohl noch das paket qt5-default . Ist aber in testing nocht mehr enthalten

Code: Alles auswählen

make[1]: *** [Makefile:981: ../build/linux.x86_64.release/edytornc/obj/edytornc.o] Fehler 1
make[1]: Verzeichnis „/home/heiko/edytornc/src“ wird verlassen
make: *** [Makefile:91: sub-src-make_first-ordered] Fehler 2

eggy
Beiträge: 3334
Registriert: 10.05.2008 11:23:50

Re: Bekomme Programm nicht kompiliert

Beitrag von eggy » 13.06.2022 10:04:28

Saebelzahltieger hat geschrieben: ↑ zum Beitrag ↑
12.06.2022 21:08:48
Mir fehlt wohl noch das paket qt5-default .
Unwahrscheinlich, denn da ist vermutlich nichts relevantes drin, siehe https://packages.debian.org/buster/amd6 ... t/filelist
Saebelzahltieger hat geschrieben: ↑ zum Beitrag ↑
12.06.2022 21:08:48

Code: Alles auswählen

make[1]: *** [Makefile:981: ../build/linux.x86_64.release/edytornc/obj/edytornc.o] Fehler 1
make[1]: Verzeichnis „/home/heiko/edytornc/src“ wird verlassen
make: *** [Makefile:91: sub-src-make_first-ordered] Fehler 2
Ist das alles an Output? Oder steht in den Zeilen darüber noch was?

Benutzeravatar
Saebelzahltieger
Beiträge: 173
Registriert: 10.02.2011 10:27:25

Re: Bekomme Programm nicht kompiliert

Beitrag von Saebelzahltieger » 13.06.2022 18:41:38

Ja es kommt noch was mit error

Code: Alles auswählen

edytornc.cpp: In member function ‘void EdytorNc::sendButtonClicked()’:
edytornc.cpp:4106:22: error: ordered comparison of pointer with integer zero (‘MdiChild*’ and ‘long int’)
 4106 |     if (activeWindow <= NULL) {
      |                      ^
edytornc.cpp: In member function ‘void EdytorNc::receiveButtonClicked()’:
edytornc.cpp:4154:34: error: ordered comparison of pointer with integer zero (‘MdiChild*’ and ‘long int’)
 4154 |                 if (activeWindow <= NULL) {
      |                                  ^
edytornc.cpp: In member function ‘void EdytorNc::startSerialPortServer()’:
edytornc.cpp:4256:31: warning: ‘static bool QProcess::startDetached(const QString&)’ is deprecated: Use QProcess::startDetached(const QString &program, const QStringList &arguments) instead [-Wdeprecated-declarations]
 4256 |         sfsProc->startDetached(fileName);
      |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QtCore:170,
                 from /usr/include/x86_64-linux-gnu/qt5/QtSerialPort/QtSerialPortDepends:3,
                 from /usr/include/x86_64-linux-gnu/qt5/QtSerialPort/QtSerialPort:3,
                 from edytornc.cpp:26:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h:280:17: note: declared here
  280 |     static bool startDetached(const QString &command);
      |                 ^~~~~~~~~~~~~
edytornc.cpp:4260:28: warning: ‘Q_PID QProcess::pid() const’ is deprecated: Use processId() instead [-Wdeprecated-declarations]
 4260 |     } else if (sfsProc->pid() == 0) {
      |                ~~~~~~~~~~~~^~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QtCore:170,
                 from /usr/include/x86_64-linux-gnu/qt5/QtSerialPort/QtSerialPortDepends:3,
                 from /usr/include/x86_64-linux-gnu/qt5/QtSerialPort/QtSerialPort:3,
                 from edytornc.cpp:26:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h:237:11: note: declared here
  237 |     Q_PID pid() const;
      |           ^~~
edytornc.cpp:4262:31: warning: ‘static bool QProcess::startDetached(const QString&)’ is deprecated: Use QProcess::startDetached(const QString &program, const QStringList &arguments) instead [-Wdeprecated-declarations]
 4262 |         sfsProc->startDetached(fileName);
      |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QtCore:170,
                 from /usr/include/x86_64-linux-gnu/qt5/QtSerialPort/QtSerialPortDepends:3,
                 from /usr/include/x86_64-linux-gnu/qt5/QtSerialPort/QtSerialPort:3,
                 from edytornc.cpp:26:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h:280:17: note: declared here
  280 |     static bool startDetached(const QString &command);
      |                 ^~~~~~~~~~~~~
make[1]: *** [Makefile:981: ../build/linux.x86_64.release/edytornc/obj/edytornc.o] Fehler 1
make: *** [Makefile:91: sub-src-make_first-ordered] Fehler 2

Benutzeravatar
bluestar
Beiträge: 2419
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Bekomme Programm nicht kompiliert

Beitrag von bluestar » 14.06.2022 07:52:36

Deine Qt Bibliotheken sind zu neu für den Source Code

eggy
Beiträge: 3334
Registriert: 10.05.2008 11:23:50

Re: Bekomme Programm nicht kompiliert

Beitrag von eggy » 14.06.2022 10:43:55

edytornc.cpp:4106:22: error: ordered comparison of pointer with integer zero (‘MdiChild*’ and ‘long int’)
@bluestar: Ich hätte da eher auf den Compiler getippt, genauer auf die genutzte C++ Version. An der Stelle wird wohl eher nen Test auf nicht nullptr statt nem Vergleich mit NULL erwartet, nehm ich an. Die Deprecated Warnungen kann man aktuell noch ignorieren, die werden erst in ner späteren Version zu Fehlern führen.

Antworten