首页| 论坛| 消息

标题:Qt引用外部库链接的问题
作者:tanyue.esec
日期:2021-09-28 20:35
内容:

种种原因,需要使用librdkafka的第三方库。
搞了好久,终于用MSVC2017 生成了dll和lib,加到了Qt工程里,Qt的编译器也换成了MSVC 2017,编译没问题,但是link的时候提示
LNK2019 LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class RdKafka::Producer * __cdecl RdKafka::Producer::create(class RdKafka::Conf *,class std::basic_string &)" (__imp_?create@Producer@RdKafka@@SAPEAV12@PEAVConf@2@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
求助各位,可能是什么原因,N多年不搞C++,根本无从下手了。


#1 [fsu0413 09-29 08:07]
没用过这个库,不过应该可能是加一行下面这个就行
LIB += -lrdkafka
#2 回 fsu0413 的帖子 [tanyue.esec 09-29 11:27]
fsu0413:没用过这个库,不过应该可能是加一行下面这个就行
LIB += -lrdkafka
 (2021-09-29 08:07) 
这个已经加了的。
win32: LIBS += -L$$PWD/librdkafka/ -lrdkafka -lrdkafka++
INCLUDEPATH += $$PWD/librdkafka/include
DEPENDPATH += $$PWD/librdkafka/include
#3 回 tanyue.esec 的帖子 [fsu0413 09-29 20:06]
tanyue.esec:这个已经加了的。
win32: LIBS += -L$$PWD/librdkafka/ -lrdkafka -lrdkafka++
....... (2021-09-29 11:27) 
他们库里是不是有内连函数,但是你编的debug版默认不内连编译
#4 回 fsu0413 的帖子 [tanyue.esec 09-30 08:42]
fsu0413:他们库里是不是有内连函数,但是你编的debug版默认不内连编译 (2021-09-29 20:06) 
有可能。
他这个库本身是C的库,后面自己在C的基础上做了一层C++的封装和调用,所以有C和C++两个lib库。

回复 发表
主题 版块