Mosquitto - невозможно изменить код в папках client/lib

Я пишу расширение для mosquitto, однако у меня возникла проблема, что только изменения, которые я делаю в папке src, фактически отражаются в окончательном сервере mosquitto и клиентах mosquitto_pub/mosquitto_sub. Первоначально я настроил его с помощью CMake и скомпилировал все это, а теперь, чтобы перестроить клиент/сервер, я запускаю make clean, а затем make в папках src и client. Они компилируются нормально, и создаются новые клиенты, однако никаких изменений, которые я сделал в файлах c в папках client/lib, на самом деле нет в скомпилированных программах. Кто-нибудь знает, что происходит? Я что-то неправильно понимаю в том, как его скомпилировать или как он работает?

например. Я изменил _mosquitto_handle_connack() в lib/read_handle_client.c, чтобы напечатать другое сообщение в строке 32 (_mosquitto_log_printf(mosq, MOSQ_LOG_DEBUG, "Client %s received CONNACK", mosq->id);), однако независимо от того, что я изменил текст, он все равно отображает исходный текст. Я даже изменил _mosquitto_packet_handle() в lib/read_handle.c так, чтобы при получении CONNACK он ничего не делал, но когда я компилирую и повторно запускаю, он по-прежнему обрабатывает CONNACK, как в стандартном mosquitto.

Редактировать: я провел еще немного тестирования этой проблемы и нашел кое-что странное. Если я удалю весь метод в одном из файлов, компиляция завершится ошибкой, потому что метод не существует. Если я просто удалю все внутри метода, компиляция завершится успешно, и программа будет действовать так, как будто все, что я только что удалил, все еще там.


person annedroiid    schedule 02.10.2017    source источник


Ответы (1)


Я понял, что проблема проста, я запускал клиенты без ./ перед ними, поэтому он запускал клиенты mosquitto, которые я установил (и совершенно забыл) 8 месяцев назад, а не клиенты в папке, в которой я был в.

person annedroiid    schedule 03.10.2017