C 如何使用libmosquitto编译

C 如何使用libmosquitto编译,c,gcc,mqtt,mosquitto,C,Gcc,Mqtt,Mosquitto,我正在尝试编译libmosquitto网站(底部)上提供的代码示例: 我使用的是Ubuntu 12.04,我已经安装了libmosquitto1和libmosquitto1开发包。在安装它们之前,我添加了MOSQUITO存储库: sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa sudo apt-get update 我正在尝试编译以下示例: gcc -lmosquitto mosquito.c -o mosquito 但我得到

我正在尝试编译libmosquitto网站(底部)上提供的代码示例:

我使用的是Ubuntu 12.04,我已经安装了libmosquitto1和libmosquitto1开发包。在安装它们之前,我添加了MOSQUITO存储库:

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
我正在尝试编译以下示例:

gcc -lmosquitto mosquito.c -o mosquito
但我得到以下错误:

/tmp/cc6eU8kw.o: In function `my_connect_callback':
mosquito.c:(.text+0xf8): undefined reference to `mosquitto_subscribe'
/tmp/cc6eU8kw.o: In function `main':
mosquito.c:(.text+0x298): undefined reference to `mosquitto_lib_init'
mosquito.c:(.text+0x2b4): undefined reference to `mosquitto_new'
mosquito.c:(.text+0x310): undefined reference to `mosquitto_log_callback_set'
mosquito.c:(.text+0x324): undefined reference to `mosquitto_connect_callback_set'
mosquito.c:(.text+0x338): undefined reference to `mosquitto_message_callback_set'
mosquito.c:(.text+0x34c): undefined reference to `mosquitto_subscribe_callback_set'
mosquito.c:(.text+0x364): undefined reference to `mosquitto_connect'
mosquito.c:(.text+0x3b4): undefined reference to `mosquitto_loop'
mosquito.c:(.text+0x3c8): undefined reference to `mosquitto_destroy'
mosquito.c:(.text+0x3d0): undefined reference to `mosquitto_lib_cleanup'
collect2: ld returned 1 exit status
有人能给我一些关于如何编译这个简单示例的提示吗?
谢谢

您必须将
-lmosquito
放在末尾(在源文件之后)

或者更好:

gcc -Wall -Wextra -pedantic -o mosquito mosquito.c -lmosquitto

我认为您必须动态链接您的程序,尝试使用
gcc蚊子.c-o蚊子-lmosquitto
(是的,
-l
选项的位置非常关键)。
gcc -Wall -Wextra -pedantic -o mosquito mosquito.c -lmosquitto