Mosquitto - 无法修改client / lib文件夹中的代码

时间:2017-10-02 06:38:00

标签: c mosquitto

我正在写一个mosquitto的扩展,但是我遇到的问题是,我在src文件夹中所做的更改实际上反映在最终的mosquitto服务器和mosquitto_pub / mosquitto_sub客户端中。我最初使用CMake进行了设置并编译了所有这些,现在重建客户端/服务器,我在src和客户端文件夹中运行make clean然后make。它们编译良好,并且构建了新的客户端,但是我在client / lib文件夹中的c文件中所做的任何更改实际上都不在编译的程序中。有谁知道发生了什么?我是否误解了如何编译它或如何运行它?

例如。我修改了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。

编辑:我已经对问题进行了一些测试,我发现了一些奇怪的东西。如果我删除其中一个文件中的整个方法,编译将失败,因为该方法不存在。如果我只是删除方法中的所有内容,编译将成功,程序将表现为我刚刚删除的所有内容仍然存在。

1 个答案:

答案 0 :(得分:0)

我意识到问题很简单,我在没有./的情况下运行客户端,因此它运行的是我8个月前安装(并完全忘记)的mosquitto客户端,而不是客户端。我在的文件夹。