• 1147阅读
  • 4回复

[提问]Qt引用外部库链接的问题 [复制链接]

上一主题 下一主题
离线tanyue.esec
 

只看楼主 倒序阅读 楼主  发表于: 2021-09-28
种种原因,需要使用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<char,struct std::char_traits<char>,class std::allocator<char> > &)" (__imp_?create@Producer@RdKafka@@SAPEAV12@PEAVConf@2@AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

求助各位,可能是什么原因,N多年不搞C++,根本无从下手了。
离线fsu0413

只看该作者 1楼 发表于: 2021-09-29
没用过这个库,不过应该可能是加一行下面这个就行

LIB += -lrdkafka
离线tanyue.esec

只看该作者 2楼 发表于: 2021-09-29
回 fsu0413 的帖子
fsu0413:没用过这个库,不过应该可能是加一行下面这个就行
LIB += -lrdkafka
 (2021-09-29 08:07) 

这个已经加了的。

win32: LIBS += -L$$PWD/librdkafka/ -lrdkafka -lrdkafka++

INCLUDEPATH += $$PWD/librdkafka/include
DEPENDPATH += $$PWD/librdkafka/include
离线fsu0413

只看该作者 3楼 发表于: 2021-09-29
回 tanyue.esec 的帖子
tanyue.esec:这个已经加了的。
win32: LIBS += -L$$PWD/librdkafka/ -lrdkafka -lrdkafka++
....... (2021-09-29 11:27) 

他们库里是不是有内连函数,但是你编的debug版默认不内连编译
离线tanyue.esec

只看该作者 4楼 发表于: 2021-09-30
回 fsu0413 的帖子
fsu0413:他们库里是不是有内连函数,但是你编的debug版默认不内连编译 (2021-09-29 20:06) 

有可能。

他这个库本身是C的库,后面自己在C的基础上做了一层C++的封装和调用,所以有C和C++两个lib库。
快速回复
限100 字节
 
上一个 下一个