2017-10-02 17 views
0

私はmosquittoの拡張機能を書いていますが、srcフォルダに行った変更だけが最終的なmosquittoサーバに反映されています。 mosquitto_pub/mosquitto_subクライアント。私はもともとCMakeをセットアップしてそのすべてをコンパイルしましたが、今度はクライアント/サーバを再構築するために、make cleanを実行してから、srcとclientフォルダにmakeを実行します。彼らはうまくコンパイルされ、新しいクライアントが構築されますが、クライアント/ libフォルダ内のcファイルで行った変更は、実際にはコンパイルされたプログラムにはありません。誰が何が起こっているのか知っていますか?コンパイル方法や実行方法について誤解していますか?Mosquitto - クライアント/ libフォルダ内のコードを変更できません

例えば、 lib/read_handle_client.cの_mosquitto_handle_connack()を32行目(_mosquitto_log_printf(mosq, MOSQ_LOG_DEBUG, "Client %s received CONNACK", mosq->id);)の別のメッセージを印刷するように変更しましたが、テキストを変更しても元のテキストは表示されます。私はlib/read_handle.cの_mosquitto_packet_handle()を変更して、CONNACKを受け取ったときに何もしませんが、コンパイルして再実行すると、標準のmosquittoのようにCONNACKを処理します。

編集:私は問題のテストをもう少しやったことがあり、私は奇妙なものを見つけました。いずれかのファイルでメソッド全体を削除すると、メソッドが存在しないためコンパイルが失敗します。メソッドの中のすべてを削除すれば、コンパイルは成功し、削除したものがまだ残っているかのように動作します。

答えて

0

私は問題が簡単だと分かりました。私はクライアントの前に./を付けずに実行していましたので、インストールした(そして完全に忘れてしまった)モスキートクライアントは、私が入っていたフォルダ

関連する問題