当我尝试编译其中一个示例时,我得到了以下错误:
main.cpp:8:undefined reference to `mosqpp::lib_init()'
main.cpp:13: undefined reference to `mosqpp::mosquittopp::loop(int, int)'
main.cpp:15: undefined reference to `mosqpp::mosquittopp::reconnect()'
temperature_conversion.o: In function `mqtt_tempconv':
temperature_conversion.cpp:7: undefined reference to `mosqpp::mosquittopp::mosquittopp(char const*, bool)'
temperature_conversion.cpp:13: undefined reference to `mosqpp::mosquittopp::connect(char const*, int, int)'
temperature_conversion.cpp:7: undefined reference to `mosqpp::mosquittopp::~mosquittopp()'
temperature_conversion.o: In function `mqtt_tempconv::on_connect(int)':
temperature_conversion.cpp:21: undefined reference to `mosqpp::mosquittopp::subscribe(int*, char const*, int)'
temperature_conversion.o: In function `mqtt_tempconv::on_message(mosquitto_message const*)':
temperature_conversion.cpp:37: undefined reference to `mosqpp::mosquittopp::publish(int*, char const*, int, void const*, int, bool)'请帮帮忙
发布于 2014-10-13 19:59:23
你的问题没有给出太多细节-你应该描述你是如何去做的,以及问题是什么。
话虽如此,看起来你还没有链接到这个库。
如果你是这样编译的:
g++ main.o temperature_conversion.o -o temperature_conversion 然后,您需要链接到该库:
g++ main.o temperature_conversion.o -o temperature_conversion -lmosquittopp我假设它已经安装好了。
发布于 2018-05-09 22:48:46
locate libmosquittopp.so可以帮助您理解作为-L参数提供给g++的目录。
g++ main.o temperature_conversion.o -o temperature_conversion -lmosquittopp \
-L$(locate libmosquitto.so | tail -n 1 | xargs -n1 dirname)https://stackoverflow.com/questions/26334502
复制相似问题