zoukankan      html  css  js  c++  java
  • 使用vs2017编译live555

    一,从官网上下载最新源码

    http://www.live555.com/liveMedia/public/

    二,解压缩,然后在live目录下创建空的解决方案,然后新建以下4个静态库项目

    BasicUsageEnvironment
    liveMedia
    groupsock
    BasicUsageEnvironment

     然后导入相关源文件(除include下文件)

    选中4个项目,右击——>属性——>c/c++——>常规——>附加包含目录:..UsageEnvironmentinclude;..liveMediainclude;..groupsockinclude;..BasicUsageEnvironmentinclude;

    然后在,属性——>c/c++——>预编译头——>预编译头,选择“不使用预编译头”

    (同时选中4个项目,可以统一操作,不用再一个一个项目去修改,也能减少犯错机会)

    三,编译

    在编译liveMedia是出现 c4996 sprintf安全错误,在vs2012及以前这只是一个警告不是错误,但在vs2017里是一个错误,解决方法:

    右键工程名-->属性-->C/C++-->预处理器-->预处理器定义,编辑右边输入框加入:_CRT_SECURE_NO_WARNINGS,确定后再编译,生成成功。

    在编译groupsock工程时,出现gethostbyname安全性错误,解决方法:
    右键工程名-->属性-->C/C++-->预处理器-->预处理器定义,编辑右边输入框加入:_WINSOCK_DEPRECATED_NO_WARNINGS,确定后再编译,生成成功。

    四,搭建openRTSP工程进行测试

    在解决方案下新建一个空项目,

    1,加入 include头文件依赖目录

     

    2,加入lib库头文件路径:

    3,加入lib库依赖

    然后编译就可以成功了!

    (说一个自己犯的错误:在编译liveMedia库时忘记把liveMedia目录下的.c文件也添加到工程中,造成后面编译openRTSP时出现如下错误:

    liveMedia.lib(RTCP.obj) : error LNK2019: 无法解析的外部符号 _OnExpire,该符号在函数 "private: void __thiscall RTCPIn,

    在liveMedia工程引入相关.c文件后重新编生成新的liveMedia.lib库后问题解决

    参考http://www.cnblogs.com/skyseraph/archive/2012/04/11/2442840.html

  • 相关阅读:
    Python学习第75天(js历史和引入,模块复习)
    Python学习第74天(抽屉习题笔记)
    Python学习第73天(shelve模块、习题练习)
    Js查漏补缺02-各种数据类型
    Js查漏补缺01-js学习笔记
    开篇
    小小python欢乐多
    阅读笔记09 个人对于三年来软件工程的一点心得
    14周周博客
    软件杯第二阶段
  • 原文地址:https://www.cnblogs.com/guoliushui/p/8623181.html
Copyright © 2011-2022 走看看