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

  • 相关阅读:
    HDU 5528 Count a * b 欧拉函数
    HDU 5534 Partial Tree 完全背包
    HDU 5536 Chip Factory Trie
    HDU 5510 Bazinga KMP
    HDU 4821 String 字符串哈希
    HDU 4814 Golden Radio Base 模拟
    LA 6538 Dinner Coming Soon DP
    HDU 4781 Assignment For Princess 构造
    LA 7056 Colorful Toy Polya定理
    LA 6540 Fibonacci Tree
  • 原文地址:https://www.cnblogs.com/guoliushui/p/8623181.html
Copyright © 2011-2022 走看看