• crtmpserver 在VS2010下的build


    Make sure that you have administrative privileges before doing the following steps.

    1. 下载并安装(Microsoft Visual C++ 2008 Redistributable Package)
    链接:
    http://www.microsoft.com/en-us/download/details.aspx?id=29

    下载并安装
    Download and install “Visual C++ 2008 Redistributables”


    2. 下载并安装OpenSSL
    链接:
    http://slproweb.com/products/Win32OpenSSL.html


    下载并安装:Win32 OpenSSL v1.0.1e 
    If you install OpenSSL to another place than “C:OpenSSL-Win32”, 
    change OpenSSL include and lib path (in project's properties)
    Compile the solution using Microsoft Visual C++.


    3. 下载并编译crtmpserver
    可以使用TortoiseSVN下载,配置如下:
    URL of repository:  https://svn.rtmpd.com/crtmpserver/branches/1.0
    Checkout directory: <Your desired checkout folder>
    Checkout Depth: Fully recursive
    Revision: Head revision
    Username: anonymous
    Password: <Leave this blank>

    下载完成后build
    When source code has been checked out successfully, 
    go to <checkout folder>/builders/VS2010 folder. 
    Inside that folder, double click the VS2010.sln file.


    4. 编译出错的解决:
    A.  error C2593: 'operator =' is ambiguous
    错误提示
    crtmpserversources helibsrcprotocolsliveflvinnetliveflvstream.cpp(111): error C2593: 'operator =' is ambiguous
    ...
    crtmpserversources helibsrcprotocolsliveflvinnetliveflvstream.cpp(114): error C2593: 'operator =' is ambiguous


    原因:
    VS2010在C++的隐式类型转换方面的bug


    解决:
    crtmpserversources helibsrcprotocolsliveflvinnetliveflvstream.cpp由
    info["audio"]["droppedPacketsCount"] = 0;
    info["video"]["bytesCount"] = _videoBytesCount;
    info["video"]["packetsCount"] = _videoPacketsCount;
    info["video"]["droppedPacketsCount"] = 0;
    改成
    info["audio"]["droppedPacketsCount"] = (uint64_t)0;
    info["video"]["bytesCount"] = _videoBytesCount;
    info["video"]["packetsCount"] = _videoPacketsCount;
    info["video"]["droppedPacketsCount"] = (uint64_t)0;


    B.error LNK2019: unresolved external symbol "public: __thiscall
    错误提示:
    defaultprotocolfactory.obj : error LNK2019: unresolved external symbol "public: __thiscall NATTraversalProtocol::NATTraversalProtocol(void)"


    原因:
    thelib工程漏了这个文件:
    sources helibsrc protocols tp attraversalprotocol.cpp


    解决:
    将这个文件添加到工程的
    thelib->protocols->Source Files->rtp下;
    重新编译工程,链接通过,OK搞定


    C. 启动程序时提示
    "The procedure entry point WSASendMsg could not be located in the 
    dynamic link library WS2_32.dll" 
    原因:
    是系统的原因


    解决:

    WSASendMsg requires Vista or Server 2008, assuming Windows 7 is also 
    okay since it works on my tests.

    具体可看链接:
    https://groups.google.com/forum/?fromgroups#!searchin/c-rtmp-server/WSASendMsg|sort:relevance/c-rtmp-server/BeC4zB_wems/m6utIOP6fJAJ

  • 相关阅读:
    Sql 复习(1)
    记录一次git issue
    JWT自校验框架
    分布式事务分布式锁的常用解决方式
    SpringBoot开发文档
    SpringCloud的使用以及五大核心组件
    SpringMVC
    关于开发中使用AOP的坑
    SpringCloud使用feign远程调用服务注入映射接口失败问题
    springBoot使用Restful跳转路径回显异常问题
  • 原文地址:https://www.cnblogs.com/zjoch/p/3276861.html
Copyright © 2020-2023  润新知