Tdlib编译过程出现LNK错误记录

Tdlib编译过程记录:

cmake完成项目后引用tdlib库完成后依然报错 link错误

Tdlib编译过程出现LNK错误记录_第1张图片
作为c++新手的我有点懵 又重新编译了一遍,后来仔细看了看报错信息

严重性	代码	说明	项目	文件	行	禁止显示状态
错误	LNK2019	无法解析的外部符号 __imp_WSAStartup,函数 "public: __cdecl td::detail::InitWSA::InitWSA(void)" (??0InitWSA@detail@td@@QEAA@XZ) 中引用了该符号	tetest_debug	D:\C++\TDlib\tdtest\tetest_debug\tdutils.lib(SocketFd.obj)	1	

__imp_WSAStartup 这玩意看着眼熟 好像windows 的socket编程有这个玩意 好像叫WS2_32.LIB
遂在项目->属性->链接器->附加依赖项添加 WS2_32.LIB 然后重新编译
Tdlib编译过程出现LNK错误记录_第2张图片
报错的信息少了很多 说明方向没有问题 继续往下看

严重性	代码	说明	项目	文件	行	禁止显示状态
错误	LNK2019	无法解析的外部符号 __imp_IdnToAscii,函数 "class td::Result,class std::allocator > > __cdecl td::idn_to_ascii(class td::CSlice)" (?idn_to_ascii@td@@YA?AV?$Result@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@1@VCSlice@1@@Z) 中引用了该符号	tetest_debug	D:\C++\TDlib\tdtest\tetest_debug\tdutils.lib(IPAddress.obj)	1	

__imp_IdnToAscii 这玩意是个啥 没见过啊 求助万能的百度
得知应该用Normaliz.lib.这个玩意 干啥用的不知道 依照上面的方式 填上再说 再次编译

Tdlib编译过程出现LNK错误记录_第3张图片
继续按照错误搜索
得知好像是密码学用到的一个库 叫Crypt32.lib 继续

终于编译成功了


总结:

这是一遍不算文章的文章因为实在是太简单也太基础 导致很多自学的小伙伴找不到解决问题的方向,在c++编译的过程中各种错误的解决方式要多求助搜索引擎,现在热心人少了 大神们也很忙 对这种基础的问题不屑也懒得回答 ,此篇做个记录吧,希望我成为大神的时候回头能看看当年的白痴

你可能感兴趣的:(c++)