2017-10-02 2 views
0

Ich schreibe eine Erweiterung zu mosquitto, aber ich habe das Problem, dass nur Änderungen, die ich im src-Ordner mache, sich tatsächlich im letzten mosquitto-Server widerspiegeln mosquitto_pub/mosquitto_sub Kunden. Ich habe es ursprünglich mit CMake eingerichtet und alles kompiliert, und jetzt, um die Clients/Server neu zu erstellen, starte ich make clean und dann make in den Verzeichnissen src und client. Sie kompilieren gut und neue Clients werden gebaut, aber keine Änderungen, die ich in den c-Dateien in den Client/lib-Ordnern gemacht habe, sind tatsächlich in den kompilierten Programmen. Wer weiß was vor sich geht? Missverständnis ich etwas darüber, wie man es kompiliert oder wie es läuft?Mosquitto - Kann den Code in den client/lib-Ordnern nicht ändern

z. Ich habe _mosquitto_handle_connack() in lib/read_handle_client.c geändert, um eine andere Nachricht in Zeile 32 zu drucken (_mosquitto_log_printf(mosq, MOSQ_LOG_DEBUG, "Client %s received CONNACK", mosq->id);), aber egal, was ich den Text ändere, es zeigt immer noch den ursprünglichen Text an. Ich habe sogar _mosquitto_packet_handle() in lib/read_handle.c geändert, so dass es bei einem CONNACK-Vorgang nichts mehr tut, aber wenn ich es kompiliere und erneut ausführe, handhabt es immer noch das CONNACK wie im Standard-Mücken.

Edit: Ich habe ein bisschen mehr Tests des Problems gemacht und ich habe etwas seltsam gefunden. Wenn ich eine vollständige Methode in einer der Dateien lösche, schlägt die Kompilierung fehl, weil die Methode nicht existiert. Wenn ich einfach alles innerhalb der Methode lösche, wird die Kompilierung erfolgreich sein und das Programm wird so tun, als ob alles, was ich gerade gelöscht habe, immer noch da ist.

Antwort

0

Ich erkannte, dass das Problem einfach ist, ich lief die Kunden ohne ./ vor ihnen, so dass es die Moskito-Kunden lief, die ich installiert hatte (und völlig vergessen) 8 Monate früher und nicht die Kunden der Ordner, in dem ich war.

Verwandte Themen