Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7794094
  • 博文数量: 701
  • 博客积分: 2150
  • 博客等级: 上尉
  • 技术积分: 13233
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-29 16:28
个人简介

天行健,君子以自强不息!

文章分类

全部博文(701)

文章存档

2019年(2)

2018年(12)

2017年(76)

2016年(120)

2015年(178)

2014年(129)

2013年(123)

2012年(61)

分类: 架构设计与优化

2013-06-19 10:17:09

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

1. 下载并安装(Microsoft Visual C++ 2008 Redistributable Package)
链接:


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


2. 下载并安装OpenSSL
链接:



下载并安装: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:  
Checkout directory:
Checkout Depth: Fully recursive
Revision: Head revision
Username: anonymous
Password:

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


4. 编译出错的解决:
A.  error C2593: 'operator =' is ambiguous
错误提示
crtmpserver\sources\thelib\src\protocols\liveflv\innetliveflvstream.cpp(111): error C2593: 'operator =' is ambiguous
...
crtmpserver\sources\thelib\src\protocols\liveflv\innetliveflvstream.cpp(114): error C2593: 'operator =' is ambiguous


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


解决:
crtmpserver\sources\thelib\src\protocols\liveflv\innetliveflvstream.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\thelib\src \protocols\rtp\nattraversalprotocol.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.

具体可看链接:
!searchin/c-rtmp-server/WSASendMsg|sort:relevance/c-rtmp-server/BeC4zB_wems/m6utIOP6fJAJ
阅读(4483) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

wanjie1234562014-12-26 10:21:42

楼主,我按照你说的操作,在启动时控制台一闪而过。
跟踪代码发现,在启动的时候,跟踪到configfile.cpp里面的第416行,即 temp = normalizePath(libraryPath, "");所获取的temp为空,之后就返回了false。也就是启动失败了。
此时,libraryPath = "applications\appselector\appselector.dll",而此时,builders\VS2010\Debug\applications\appselector下而是存在appselector.dll文件的。我想请问一下,是不是我哪个地方的配置出了什么问题啊。