Estou com um problema ao usar o cliente Paho MQTT em C.
Eu baixei os binários pré-criados para o meu sistema (Windows 10 64) na página de seus projetos . Descompactei o arquivo zip em uma pasta na pasta documentos, onde também criei um arquivo .c com o exemplo na parte inferior da página do produto Paho . Meu editor é atom e meu compilador é gcc.
Quando tentei compilá-lo no Atom, recebi este erro:
undefined reference to MQTTClient_create'
Pesquisei e encontrei muitos tópicos, mas ainda não consegui descobrir como resolver esse problema. A partir deste tópico stackoverflow entendo que isso é um problema vinculador e que eu preciso para ligar os arquivos durante a compilação, então aqui está o que eu tentei:
gcc MQTT.c -L "C:\Users\Pete\Documents\MQTT on C\Examples\Paho\lib" -l paho-mqtt3c
O que ainda me dá o mesmo undefined reference
erro. Quando tento vincular à DLL com o mesmo nome, o compilador não encontra o arquivo.
Alguém poderia indicar-me a direção correta, por favor?
Qualquer ajuda é apreciada!
fonte
paho-mqtt3c.dll
, obtive: "O módulo" paho-mqtt3c.dll "estava carregado, mas o ponto de entrada DllRegisterServer não foi encontrado." Parece funcionar para o ... cs.dll, mas o compilador me dá o mesmo erro que antes.O problema era que eu estava compilando o programa com o compilador gcc de 32 bits para a biblioteca de 64 bits. A instalação e o uso do MinGW64 funcionaram.
fonte
Eu tive o mesmo problema no OS X. Foi assim que resolvi
Compilei a biblioteca paho-mqtt na instância Linux / EC2.
Instalou todas as dependências:
sudo yum instalar instalar o build-essential gcc make cmake cmake-gui cmake-curses-gui
sudo yum install cmake
sudo yum instalar doxygen graphviz
cmake -DPAHO_WITH_SSL = TRUE -DPAHO_BUILD_DOCUMENTATION = FALSE -DPAHO_BUILD_STATIC = VERDADEIRO -DPAHO_BUILD_SHARED = FALSE -DPAHO_MQTT_C_PATH =
faço
Compilado com sucesso ..
Esta solução também funciona para o OS X. Substitua a etapa 2 por brew install cmake doxygen openssl-devel
fonte