Leider geht die Formatierung der Fehlermeldung verloren.
Es steht doch auch die Spalte dabei: 141 ( und das ^ darunter sollte
auch die Stelle anziegen)
Das ist die Zuweisung an .func
Da du weder die Definition der struct noch die Deklaration der Funktion
(ecmd_sender_send_command ) zeigst, kann hier schlecht geholfen werden.
Michel schrieb:> Ich vermute den Fehler beim compilieren (make). Dort erscheint nämlich> folgende Meldung während der Compilierung:
Hm. Da kommt weder Fehler, Error, o.ä. vor. Da steht:
Warnung: initialization from
incompatible pointer type [-Wincompatible-pointer-types]
und die bezieht sich (vermutlich) auf
func =
ecmd_sender_send_command
Da weden die (Funktions)?)-pointer nicht kompatibel sein ;) Die Warnung
ist sicherlich berechtigt, aber in dem Fall sag ich mal, funktionieren
tut das trotzdem.
Und da das nur ein Warnung ist, sollte make trotzdem durchlaufen, und
das Programm erstellen.
Oliver
Michel schrieb:> Der Compiler läuft ja auch durch (mit den Warnungen und Anmerkungen) und> erstellt ein Programm.
Der Compiler versucht unter allen Umständen ein Programm zu erstellen.
Er vertraut dir, dass du keine Fehler machst.
Wenn ihm etwas merkwürdig vorkommt, gibt er eine Warnung aus, macht aber
weiter.
Meist ist das aber ein Fehler!
> Nur eben senden> tut der NET-IO (vermutlich) nix.
Du bekommst eine Warnung im Zusammenhang mit der Funktion
ecmd_sender_send_command.
Diese passt nicht zu der (in der struct WatchcatReaction bei .func
erwarteten) Signatur.
Da solltest du mal schauen. Wenn die Paramter nicht passen, sendet der
AVR Mist oder nichts.
Oder zeig doch mal bitte die Funktion ecmd_sender_send_command und
auch die Definition der struct WatchcatReaction
ok....
Ich habe
git clone git://github.com/ethersex/ethersex.git
und
git pull origin
alles aktuell neu gemacht. Da sollte doch alles drin sein....
Die Fehlermeldungen deute ich auch so wie du angegeben hast. Die
Funktion ecmd_sender_send_command..... kann oder muss ich die ändern?
Ich rufe aber doch nur "make menuconfig" auf und erstelle dann bei
"Watch IO and react" die bereits oben gezeigte Zusammenstellung der
gewünschten Befehle.
Mehr kann (und sollte) ich doch eigentlich gar nicht tun. Dann starte
ich den Compiler mit "make" und los gehts.
Was ist die "Definition der struct WatchcatReaction" und wo finde ich
die?
Wie gesagt, alles original Ethersex letzte Woche runtergeladen...
sorry für die dummen Fragen ;-)
Ich hab noch eine Ergänzung....
bei Aufruf von menuconfig kommt auch schon eine Warnung. Hatte ich
bisher übersehen weil sehr schnell das Ethersex Configuration Fenster
aufgeht. Vielleicht hat das schon damit etwas zu tun.
root@OptiPlex745:~/ethersex# make menuconfig
make -C scripts/lxdialog all
make[1]: Verzeichnis „/root/ethersex/scripts/lxdialog“ wird betreten
lxtemp.c:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
main() {}
^~~~
make[1]: Verzeichnis „/root/ethersex/scripts/lxdialog“ wird verlassen
/bin/bash scripts/Menuconfig config.in
Using defaults found in .config
Preparing scripts: functions,
parsing...........................................
........................................................................
........
................done.
Scheint ja auch irgendeine Inkompatibilität zu sein.
Ich weiß nicht weiter.....
Michel schrieb:> Was ist die "Definition der struct WatchcatReaction" und wo finde ich> die?
In irgendeiner Headerdatei .h wird struct WatchcatReaction stehen, wo
dann auch die Member mit den Typen definiert ist.
Eine Volltextsuche über alle *.h von Ethersex sollte die finden.
Ebenso die Funktion ecmd_sender_send_command
Das fehlende int bei main ist unschön.
Da main immer ein int zurück gibt geht das implizit, ist aber in neuen
C-Standards nicht mehr erlaubt.