Myseelite v2.0.1编译

myseelite2 v2.0.1编译:

1、编译环境

Visualstudio 2003

ACE 5.5

wxWidgets-2.8.4

 

2、ACE-5.5编译

进入E:\ACE\ACE_wrappers\ace目录,新建一个config.h文件。加入一句话#include "config-win32.h",现在使用Visual Studio.NET 2003打开E:\ACE\ACE_wrappers下的ace.sln,打开解决方案后,重新生成解决方案。

 

在lib目录下生成了ACED.dll和ACED.lib,这是Debug版本的链接库。编译release版本之后,lib目录下生成了ACE.dll和ACE.lib.

 

3、wxWidgets编译

打开:wxWidgets-2.8.4\build\msw\ wx.dsw

转换:【Yes to all】

 

分别编译debug和release版本。

 

4、系统变量

【我的电脑】->【属性】->【高级】->【环境变量】->【系统变量】编辑: “Path” : 在末尾添加E:\ACE\ACE_wrappers\lib

 

5、VS的相关配置

【工具】->【选项】->【Projects】->【VC++目录】:

“可执行文件”目录,添加 :E:\ACE\ACE_wrappers\bin;

“包含文件”目录,添加:E:\ACE\ACE_wrappers;E:\wxWidgets\wxWidgets-2.8.4\include;E:\wxWidgets\wxWidgets-2.8.4\include\msvc;

“库文件”目录,添加:E:\ACE\ACE_wrappers\lib;E:\ACE\ACE_wrappers\ace;E:\wxWidgets\wxWidgets-2.8.4\lib\vc_lib;

“源文件”目录,添加:E:\ACE\ACE_wrappers\ace。

 

6、myseelite编译

6.1、capture

打开myseelite2 v2.0.1\capture\capture\ capture.sln。

 

该解决方案中分为两个项目:ACE_Capture和streamCaplib。首先,编译streamCaplib生成streamCaplib.lib链接库;再编译ACE_Capture成ACE_Capture.exe可执行文件。

 

Debug版本编译通过。

Release版本:

ACE_Captureerror LNK2001: 无法解析的外部符号 "__declspec(dllimport)public: __thiscall ACE_Cleanup::ACE_Cleanup(void)"(__imp_??0ACE_Cleanup@@QAE@XZ)

 

修改ACE_Capture的编译选项:

【C/C++|常规|附加包含目录】E:\ACE\ACE_wrappers\include

【链接器|常规|附加库目录】E:\ACE\ACE_wrappers\lib

【链接器|输入|附加依赖项】:ACE.lib

 

编译成功,分别生成debug和release版本。

 

6.2 client

打开:myseelite2 v2.0.1\client\mediaplayer\ mediaplayer.sln.

 

Client解决方案中包含mediaplayer和layer1两个项目,其中编译layer1生成layer1.dll动态链接库;编译mediaplayer生成playerd.exe可执行文件。

Debug版本编译成功。

编译release版本:

mediaplayererror LNK2001: 无法解析的外部符号 "public: void __thiscallwxStringData::Free(void)" (?Free@wxStringData@@QAEXXZ)

 

mediaplayererror LNK2005: __errno 已经在LIBCMT.lib(dosmap.obj) 中定义

 

Layer1error LNK2019: 无法解析的外部符号 _EnumProcesses@12 ,该符号在函数 "unsigned long __cdeclNPLayer1::FindProcess(char *)" (?FindProcess@NPLayer1@@YAKPAD@Z) 中被引用

 

Layer1调试:

发现layer1的release版本和debug版本配置不一致。在【Layer1 属性页| 链接器 | 输入| 附加依赖项】中,release版本比debug版本少了一个lib。两个版本的完整附加依赖项应为:

winmm.lib

Ws2_32.lib

Wininet.lib

Psapi.lib

Mediaplayser调试:

先比较debug和release的配置:

Debug的附加依赖项:

wxmsw28d_media.lib

wxmsw28d_core.lib

wxbase28d.lib

wxbase28d_net.lib

wxbase28d_xml.lib

wxexpatd.lib

winmm.lib

comctl32.lib

rpcrt4.lib

wsock32.lib

odbc32.lib

release的附加依赖项:

wxmsw28_media.lib

wxmsw28_core.lib

wxbase28.lib

wxbase28_net.lib

wxbase28_xml.lib

wxexpat.lib

winmm.lib

comctl32.lib

rpcrt4.lib

wsock32.lib

 

在release版本中添加wsock32.lib后,编译成功。

 

注意:layer1的【运行时库】从[/MT]改为[/MD],可编译通过;

但是mediaplayer的【运行时库】从[/MD]改为[/MT],出现了连接错误:

mediaplayererror LNK2001: 无法解析的外部符号 "public: void __thiscallwxStringData::Free(void)" (?Free@wxStringData@@QAEXXZ)

 

mediaplayererror LNK2005: __errno 已经在LIBCMT.lib(dosmap.obj) 中定义

 

mediaplayererror LNK2019: 无法解析的外部符号 "public: void __thiscallwxStringData::Free(void)" (?Free@wxStringData@@QAEXXZ) ,该符号在函数 "public: void __thiscallwxStringData::Unlock(void)" (?Unlock@wxStringData@@QAEXXZ) 中被引用

 

所以,最后编译成功的release配置分别如下:

【Layer1属性页|常规|字符集】使用多字节字符集

【Layer1属性页|C/C++|代码生成|运行时库】多线程DLL (/MD)

【mediaplayer属性页|常规|字符集】未设置;

【Layer1属性页|C/C++|代码生成|运行时库】多线程DLL (/MD)

 

疑问:两个项目的“字符集”不同,这是否会产生意外的影响呢?

 

Client编译成功。

 

6.3 server

 

打开:myseelite2 v2.0.1\server\ server.sln

 

Debug成功。

Release错误提示:

e:\myseelite\myseelite2v2.0.1\server\superpeer\spclient\SPTCPClient.cpp(402):fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾

 

E:\ACE\ACE_wrappers\ace\config-win32-msvc.h(87):fatal error C1189: #error :  You mustlink against multi-threaded libraries when using ACE (check your projectsettings)

 

ACE_Tracker:

【运行时库】:多线程(/MT)

【链接器 | 输入| 附加依赖项】:ACE.lib

编译成功!

 

sqliteLib:

【运行时库】:多线程(/MT)

编译成功!

 

Superpeer:

以上的配置选项,debug和release都一致!

生成项目的时候,错误提示:

e:\myseelite\myseelite2v2.0.1\server\superpeer\spclient\SPTCPClient.cpp(402):fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾

 

在源文件SPTCPClient.cpp中修改:

#include"../stdafx.h"改成:

#include"stdafx.h"

在md5.cpp中添加:#include "stdafx.h"

 

编译成功!

 

7、参考文献:

wxWidgets-2.8.x环境的搭建:

http://blog.csdn.net/chunxiaopengshan/article/details/2220652

ACE 安装指南及示例:

http://blog.csdn.net/wzq9706/article/details/7304274

wxWidgets环境配置教程:

http://blog.3snews.net/space.php?uid=57253&do=blog&id=61832

fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾的解决办法:

http://blog.csdn.net/sky1415/article/details/4493082

 

8、软件下载

Myseelite3个版:http://download.csdn.net/detail/sweet_life/4516139

ACE 5.5:http://download.csdn.net/detail/sweet_life/4516145

wxWidgets-2.8.4:http://sourceforge.net/projects/wxwindows/files/wxAll/2.8.4/

Visualstudio 2003 7 iso版本(迅雷下载):

ed2k://|file|[Visual.Studio.Net.2003.%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E4%BC%81%E4%B8%9A%E7%89%88].sc_vs.net_2003_library_cd3.[DownCD.com].iso|629245952|1C5BFB07EB7EA2B1A946A889343642DD|h=UHRSEITL3Z2CVHS6VG5DIXSXH2W3JRGO|/

 

ed2k://|file|[Visual.Studio.Net.2003.%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E4%BC%81%E4%B8%9A%E7%89%88].sc_vs.net_2003_library_cd2.[DownCD.com].iso|670171136|FA0D4E63E2DD1111DC8FE57D031D0BC9|h=QNFMW5CRUYUUHHU7ECXTHP4YLYJGJAQZ|/

 

ed2k://|file|[Visual.Studio.Net.2003.%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E4%BC%81%E4%B8%9A%E7%89%88].sc_vs.net_2003_library_cd1.[DownCD.com].iso|673560576|213F77392CA092DC2D42769191137539|h=Q76RCJJ5O3U46FI6VU2HXDHOO4W2ENVZ|/

 

ed2k://|file|[Visual.Studio.Net.2003.%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E4%BC%81%E4%B8%9A%E7%89%88].sc_vs.net_2003_enar_cd1.[DownCD.com].iso|655755264|DE8FCEACCBCEC72BD2037C56FB7B4A89|h=RKXIYC4PAGBQ34DXCFP4V2ICJONKSPES|/

 

ed2k://|file|[Visual.Studio.Net.2003.%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E4%BC%81%E4%B8%9A%E7%89%88].sc_visio_enar_2003.[DownCD.com].iso|208840704|CF20F61AD022CBE8481A593D3BBE3108|h=WPSIFE3QAEGKGJKLRWTCJL4DJBHL6W6B|/

 

ed2k://|file|[Visual.Studio.Net.2003.%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E4%BC%81%E4%B8%9A%E7%89%88].sc_vs.net_2003_prereq.[DownCD.com].iso|173432832|3636876F1ACE339E77E9484C2BA9267E|h=AIOYROFMHJWGZQMWPGLYAF4TSBXAGKDY|/

 

ed2k://|file|[Visual.Studio.Net.2003.%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E4%BC%81%E4%B8%9A%E7%89%88].sc_vs.net_2003_enar_cd2.[DownCD.com].iso|526010368|6354E8317AE1128FB54CD3682CEF2EE9|h=74GEWZRAND5BK6ORK64YG6QEFJX2C4IE|/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值