本文主要是介绍Visual Studio 2017自建WebRTC中peerconnection_client程序报LNK2019 无法解析的外部符号错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上一篇我们讲了TSINGSEE青犀视频研发团队正在对webrtc进行研究,尝试了在Visual Studio 2017自建WebRTC中peerconnection_client程序。上文我们处理了几个报错问题,有兴趣可以看一下。
解决完前文的问题之后,我们再次编译peerconnection_client程序,会出现各种“LNK2019 无法解析的外部符号 public:_thiscall xxxxxx(xxxxxx), 该符号在函数 protected:void _thiscall xxxxxx(xxxxxx)中被引用”;导致程序无法继续编译。
分析问题
使用编译的window WebRTC的库,引用了头文件,但是没有引用第三方库文件,所以报“无法解析外部符号”错误。
解决问题
1、通常配置一下项目属性就好了。在项目属性的库文件目录里面添加相应库文件所在的目录(连接器->输入->附加依赖项里加入对应的库文件即可);但是对于WebRTC引用的库文件比较多,所以打开编译好的WebRTC输出文件目录,并找到peerconnection_client.ninja文件,打开改文件,如下图,找到所有(.lib文件),添加到vs库文件即可。
(文字过长,只能截取一小部分)
2、还有一种方法,即在vs2017中利用预处理命令#pragma comment(lib, “xxx.lib”);把xxx替换成想要加载的lib文件。关于这条命令的使用其实不是最终目的,因为对于WebRTC引用的库文件比较多,所以写起来有点繁琐,不过该方法是第一种解决方案的代码话版本,大家也可以尝试一下。
以上介绍的编译问题就到这里了,当然TSINGSE青犀视频研发团队欢迎大家与我们继续探讨开发问题。同时,如果大家还想了解更多视频相关解决方案,也欢迎联系我们了解。
这篇关于Visual Studio 2017自建WebRTC中peerconnection_client程序报LNK2019 无法解析的外部符号错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!