posts - 15, comments - 0, trackbacks - 0, articles - 5
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

一、相关文件下载

Posted on 2011-09-13 20:51 eamon 阅读(493) 评论(0)  编辑 收藏 引用 所属分类: Filezilla Server
简单对Filezilla Server 0.9.39源代码进行分析,参考了《FileZilla Server源码分析 》 和《FileZilla FTP服务器源代码分析》的内容。
首先下载相关的文件:
1、FileZilla_Server-0_9_39.exe
2、zlib-1.2.5.tar.bz2
3、tinyxml_2_6_2.zip
安装FileZilla_Server-0_9_39.exe时,选择Source Code,如下图:

将相应的文件解压缩,放置在E:\FileZilla目录下:


使用VS2005编译Boost库:(注:0.9.39已经移除了对Boost库的依赖,可以不用编译了)
cd E:\FileZilla\boost_1_47_0\tools\build\v2
bootstrap.bat
copy bjam.exe E:\FileZilla\boost_1_47_0\
cd E:\FileZilla\boost_1_47_0\
bjam 
--prefix=E:\FileZilla\boost  --build-type=minimal  toolset=msvc  install
会在E:\FileZilla\boost 目录下生成Boost库文件。

使用VS2005编译Zib库: 
用vs2005 打开E:\FileZilla\zlib-1.2.5\old\visualc6目录下的zlib.dsp
分别生成,选择LIB Debug 和 LIB Release,会在E:\FileZilla\zlib-1.2.5\old\visualc6目录下生成相应的文件

使用VS2005编译Filezil Server:
为了能在VS2005上编译FileZilla Server 源代码,将FileZilla server.vcproj 和FileZilla Server Interface.vcproj的第4行改为:

Version="8.00"

将FileZilla server.sln的第一行和第二行改为:

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 
2005

现在可以用VS2005打开 FileZilla server.sln 项目文件了,打开时会提示找不到GFTP项目,可以忽略。

 将Service设为启动项目;
项目属性-配置属性-C/C++-常规-附加包含目录:"E:\FileZilla\zlib-1.2.5"
将E:\FileZilla\zlib-1.2.5\old\visualc6\Win32_LIB_Debug\zlibd.lib 拷贝到根目录(E:\FileZilla\source)下
项目属性-配置属性-链接器-输入-忽略特定的库:libcmtd.lib
项目属性-配置属性-链接器-输入-附加依赖项:atlsd.lib

现在应该可以编译运行了。
修改好的源代码:source.rar
由于Windows服务程序调试比较困难,将原程序修改为执行程序,方便调试,
仅供研究学习,勿用于其他用途:修改后的服务器端源代码