您的位置:首页 > 产品设计 > UI/UE

crtmpserver 在VS2010下的build

2016-04-08 23:57 447 查看
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

错误提示

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.

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

好文要顶 关注我 收藏该文 

 





遥望星空
关注 - 13
粉丝 - 98

+加关注

0

0

(请您对文章做出评价)

« 上一篇:mysql出现“Incorrect
key file for table”解决办法
» 下一篇:使用ffmpeg向crtmpserver发布rtsp流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

错误提示

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.

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

好文要顶 关注我 收藏该文 

 





遥望星空
关注 - 13
粉丝 - 98

+加关注

0

0

(请您对文章做出评价)

« 上一篇:mysql出现“Incorrect
key file for table”解决办法
» 下一篇:使用ffmpeg向crtmpserver发布rtsp流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: