摘要:最近在做一个 sdk 的移植,需求是从 windows 平台移植到 linux 平台,编译错误还比较容易解决,链接问题相对比较麻烦,这篇文章将遇到的链接错误进行简单的记录,以方便日后查询。
1.错误一
错误信息:libavcodec.so undefined reference to symbol inflateEnd
解决办法:在链接的时候添加选项 -lz
2.错误二
错误信息:Undefined reference to pthread_create
解决办法:在链接的时候添加选项 -lpthread
3.错误三
错误信息: Undefined reference to SSL_new
解决办法:在链接的时候添加选项 -lgnutls-openssl
4.错误四
错误信息:Undefined reference to dlopen
解决办法:在链接的时候添加选项 -ldl
5.错误五
错误信息:Undefined reference to BN_new
解决办法:在链接的时候添加 -lcrypto
6.错误六
错误信息:
解决办法:这里引用的 jsoncpp.so 动态库有问题,将动态库改成静态库,临时解决问题,目前还没有找到为什么引用动态库会存在链接问题。
7.错误七
错误信息:Undefined r