TSINGSEE青犀视频平台开发Visual Studio 2017自建WebRTC中peerconnection_client程序报错无法解析的外部符号

本文主要是介绍TSINGSEE青犀视频平台开发Visual Studio 2017自建WebRTC中peerconnection_client程序报错无法解析的外部符号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于webrtc技术相对其他协议的视频直播来说,具备更低的延迟,因此对webrtc的开发和编译成了TSINGSEE青犀视频研发人员的一个重要任务。关于webrtc的开发需求,大家可以看《TSINGSEE青犀视频云边端架构视频智能分析平台低延迟直播可以用webrtc实现吗》一文了解一下。

WebRTC.png

对于webrtc的编译以及开发,TSINGSEE青犀视频研发人员在之前解决了Visual Studio 2017自建WebRTC中peerconnection_client程序编译报错不匹配问题,以及其他不同的问题,但是在解决这些问题之后,再次编译,仍然会出现其他问题。

当我们再次编译该项目时,还是出现了“LIBCMD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 _main”的问题,该符号在函数 “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ) 中被引用,导致程序继续编译无法通过。

分析问题

产生这个问题的真正原因是c语言运行时找不到适当的程序入口函数。一般情况下,如果是windows程序,那么WinMain是入口函数,而如果入口函数指定不当,很显然c语言运行时找不到配合函数,它就会报告错误。

解决问题

本项目是windows程序。
1、在项目属性依次选择:属性 -> C/C++ ->预处理器 -> 预处理器定义;然后对应删除_CONSOLE,并添加_WINDOWS.
2、在项目属性依次选择:属性 -> 链接器 -> 系统 -> 子系统;然后把“控制台 (/SUBSYSTEM:CONSOLE)”改为“窗口 (/SUBSYSTEM:WINDOWS)”

这样程序就最终修改完成,即可编译成(.exe)工程。

Visual Studio 2017自建WebRTC中peerconnection_client程序的编译已经差不多结束了,不过TSINGSEE青犀视频研发团队即将开始编译其他版本,如果大家感兴趣,可以关注我们,也欢迎大家和我们做探讨交流。

云边端2.png

TSINGSEE青犀视频云边端架构视频智能分析平台包括EasyNVR、EasyGBS、EasyDSS等,均支持下载试用,欢迎大家测试了解。

这篇关于TSINGSEE青犀视频平台开发Visual Studio 2017自建WebRTC中peerconnection_client程序报错无法解析的外部符号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930758

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加