在Qt应用程序

时间:2018-02-13 08:05:37

标签: c++ qt linker libmosquitto

我在Linux下的Qt-Widget-Application中使用了mosquitto库并取得了成功。我想为Windows 7 MSVC2015 x64做同样的事情,但我收到链接器错误,我不明白。

在我的.pro文件中使用此代码段,其中C:\ mosquitto是下载和预编译的lib(.dll)的路径。文件夹devel包含标题和.lib文件。

INCLUDEPATH += C:/mosquitto/devel DEPENDPATH += C:/mosquitto/devel LIBS += -LC:/mosquitto/devel -LC:/mosquitto -lmosquitto -lmosquittopp

我收到14个未解析符号的链接器错误,好像根本没有库。我可以删除“LIBS”行,但不会获得更多未解析的符号。如果我拼错LIBS-Variable中的一些路径或名称,我会得到找不到mosquitto.lib的错误 - 所以路径通常是正确的。

一个提示可能是来自链接器的警告:library machine type 'X86' conflicts with target machine type 'x64'。所以我在x64中手动编译了库源代码。之后,仅出现一个未解决的符号。为什么呢?

我没有得到线索。在Linux下它相对容易。我有32 / 64bit的麻烦吗?或者是否有一些我错过的依赖?

更新 带有-hopefully正确编译的x64版本的未解析符号为public: virtual void __cdecl mosqpp::mosquittopp::on_message(struct mosqpp::mosquitto_message const *)。目前我只打开并发布到MQTT-Connection:我没有明确地使用on_message(...)。

0 个答案:

没有答案