OpenRTMFP / Cumulus

CumulusServer is a complete open source and cross-platform RTMFP server extensible by way of scripting
http://groups.google.com/group/openrtmfp-cumulus
GNU General Public License v3.0
593 stars 221 forks source link

build error #45

Closed yaohuan closed 12 years ago

yaohuan commented 12 years ago

Hello,cumulusdev , I like Cumulus very much, but I found a problem when I build Cumulus source code by Visual Studio 2008 or Visual Studio 2010 .

issue:

1>------ 已启动全部重新生成: 项目: CumulusLib, 配置: debug_shared Win32 ------ 1> Target.cpp 1> Middle.cpp 1> Streams.cpp 1> QualityOfService.cpp 1> Publications.cpp 1> Publication.cpp 1> Listener.cpp 1> Trigger.cpp 1> Message.cpp 1> FlowWriter.cpp 1> FlowStream.cpp 1> FlowNull.cpp 1> FlowGroup.cpp 1> FlowConnection.cpp 1> Flow.cpp 1> Sessions.cpp 1> Session.cpp 1> Handshake.cpp 1> Cookie.cpp 1> Logs.cpp 1> 正在生成代码... 1> 正在编译... 1> RTMFPServer.cpp 1> RTMFP.cpp 1> Peer.cpp 1> Handler.cpp 1> Group.cpp 1> Entity.cpp 1> Clients.cpp 1> AESEngine.cpp 1> Util.cpp 1> Startable.cpp 1> ServerSession.cpp 1> ServerConnection.cpp 1> RTMFPServerEdge.cpp 1> Address.cpp 1> PacketWriter.cpp 1> PacketReader.cpp 1> MemoryStream.cpp 1> EdgeSession.cpp 1> Edges.cpp 1> BinaryWriter.cpp 1> 正在生成代码... 1> 正在编译... 1> BinaryStream.cpp 1>d:\vs2010space\openrtmfp\cumuluslib\sources\binarystream.cpp(41): warning C4244: “初始化”: 从“std::streamoff”转换到“int”,可能丢失数据 1> BinaryReader.cpp 1> AMFWriter.cpp 1> AMFReader.cpp 1> AMFObjectWriter.cpp 1> AMFObject.cpp 1> Cumulus.cpp 1> 正在生成代码... 1> 正在创建库 D:\vs2010space\OpenRTMFP\CumulusLib\lib/\CumulusLibd.lib 和对象 D:\vs2010space\OpenRTMFP\CumulusLib\lib/\CumulusLibd.exp 1> 正在创建库 D:\vs2010space\OpenRTMFP\CumulusLib\lib/\CumulusLibd.lib 和对象 D:\vs2010space\OpenRTMFP\CumulusLib\lib/\CumulusLibd.exp 1> CumulusLib.vcxproj -> D:\vs2010space\OpenRTMFP\CumulusLib\lib/\CumulusLibd.dll 2>------ 已启动全部重新生成: 项目: CumulusService, 配置: debug_shared Win32 ------ 2> StatusWriter.cpp 2> Server.cpp 2> main.cpp 2> Auth.cpp 2> 正在生成代码... 2>Server.obj : error LNK2019: 无法解析的外部符号 "public: class Cumulus::FlowWriter & thiscall Cumulus::Client::writer(void)" (?writer@Client@Cumulus@@QAEAAVFlowWriter@2@XZ),该符号在函数 "private: virtual bool thiscall Server::onConnection(class Cumulus::Client &,class Cumulus::AMFReader &)" (?onConnection@Server@@EAE_NAAVClient@Cumulus@@AAVAMFReader@3@@Z) 中被引用 2>Server.obj : error LNK2019: 无法解析的外部符号 "public: double thiscall Cumulus::AMFReader::readNumber(void)" (?readNumber@AMFReader@Cumulus@@QAENXZ),该符号在函数 "private: virtual bool thiscall Server::onMessage(class Cumulus::Client &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class Cumulus::AMFReader &)" (?onMessage@Server@@EAE_NAAVClient@Cumulus@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAVAMFReader@3@@Z) 中被引用 2>StatusWriter.obj : error LNK2019: 无法解析的外部符号 "public: class Cumulus::QualityOfService const & thiscall Cumulus::Listener::audioQOS(void)const " (?audioQOS@Listener@Cumulus@@QBEABVQualityOfService@2@XZ),该符号在函数 "private: void thiscall StatusWriter::refresh(class Cumulus::Handler &)" (?refresh@StatusWriter@@AAEXAAVHandler@Cumulus@@@Z) 中被引用 2>StatusWriter.obj : error LNK2019: 无法解析的外部符号 "public: class Cumulus::QualityOfService const & thiscall Cumulus::Listener::videoQOS(void)const " (?videoQOS@Listener@Cumulus@@QBEABVQualityOfService@2@XZ),该符号在函数 "private: void thiscall StatusWriter::refresh(class Cumulus::Handler &)" (?refresh@StatusWriter@@AAEXAAVHandler@Cumulus@@@Z) 中被引用 2>D:\vs2010space\OpenRTMFP\CumulusService\debug_shared\CumulusService.exe : fatal error LNK1120: 4 个无法解析的外部命令 ========== 全部重新生成: 成功 1 个,失败 1 个,跳过 0 个 ==========

Can you help me see what ? Thanks ! love you ! love Cumulus!

yaohuan commented 12 years ago

So it seems inconsistent function declarations and definitions. Four error LNK.

Qznec commented 12 years ago

I have the same situation.

yaohuan commented 12 years ago

How do you solve this problem?

At 2011-12-07 17:05:11,Qznec reply@reply.github.com wrote:

I have the same situation.


Reply to this email directly or view it on GitHub: https://github.com/OpenRTMFP/Cumulus/issues/45#issuecomment-3044796

Qznec commented 12 years ago

I've compiled it in Ubuntu. :)

yaohuan commented 12 years ago

Hello Qznec,Can you tell me how you do what? What OpenSSL version you use ,and What Poco version ? You tried to install the Cumulus successfully on Linux systems?If successful,What your Linux kernel version number. Thanks !

At 2011-12-08 17:06:05,Qznec reply@reply.github.com wrote:

I've compiled it in CentOS. :)


Reply to this email directly or view it on GitHub: https://github.com/OpenRTMFP/Cumulus/issues/45#issuecomment-3059519

Qznec commented 12 years ago

Hello yaohuan. OpenSSL 0.9.8k-7ubuntu8.6 Poco 1.3.6 Core 2.6.32-33-generic-pae I finally compiled Cumulus in Windows successfully yesterday :) but only x32. I used binary OpenSSL (http://www.slproweb.com/download/Win32OpenSSL-1_0_0e.exe), Poco 1.4.2p1 (http://sourceforge.net/projects/poco/files/sources/poco-1.4.2/poco-1.4.2p1-all.zip/download)

I compiled poco with VS command promt: buildwin 100 build static_mt both Win32 nosamples vcexpress (because i have VC++ Express) Then copying includes and libs in "External" folder. And then compiling in debug_static or release_static config.

yaohuan commented 12 years ago

Hello Qznec,I congratulate you on successfully compiled using VS 2010. My God ! I also used binary OpenSSL (Win32OpenSSL-1_0_0e.exe),Poco 1.4.2p1 (poco-1.4.2p1-all.zip ). first,I also compiled poco with VS command promt: buildwin 100 build static_mt both Win32 nosamples devenv Like the Cumulus README say, However, I found file not found error in the buildwin.cmd window,so I closed the buildwin.cmd,Then I used the build_vs100.cmd to replace. The Contents of the build_vs100.cmd is " buildwin 100 build shared both Win32 samples ". I am sorry,I have not used VS 2010 before,I used the eclipse IDE,I am the java Developers,not C++ . Maybe the Cumulus README said it in detail " but this is a example for Visual Studio 2010 which build quickly (just in static mode and without Poco samples) ". I want to lead my compilation to fail because I used the wrong command. I will try again. As you said "buildwin 100 build static_mt both Win32 nosamples vcexpress (because i have VC++ Express)" , Can you tell me what vcexpress ? If you do not have a VC++ Express,Can you successfully compile the Cumulus ?thanks !

At 2011-12-09 17:15:57,Qznec reply@reply.github.com wrote:

Hello yaohuan. OpenSSL 0.9.8k-7ubuntu8.6 Poco 1.3.6 Core 2.6.32-33-generic-pae I finally compiled Cumulus in Windows successfully yesterday :) but only x32. I used binary OpenSSL (only x32 - http://www.slproweb.com/download/Win32OpenSSL-1_0_0e.exe), Poco 1.4.2p1 (http://sourceforge.net/projects/poco/files/sources/poco-1.4.2/poco-1.4.2p1-all.zip/download)

I compiled poco with VS command promt: buildwin 100 build static_mt both Win32 nosamples vcexpress (because i have VC++ Express) Then copying includes and libs in "External" folder. And then compiling in debug_static or release_static config.


Reply to this email directly or view it on GitHub: https://github.com/OpenRTMFP/Cumulus/issues/45#issuecomment-3076850

yaohuan commented 12 years ago

Hello ,Qznec, and ALL, I've compiled it in Windows X32.

thank you ! All work should be compiled using the static mode, I used command line "buildwin 100 build static_mt both Win32 nosamples devenv" When I compiled poco, I used debug_static mode in vs 2010 Solution when I compiled Cumulus.