一、简述
FineFTP是一个小型的C++FTP服务器库(链接:fineFTP Server),其可以使用在linux和windows平台,用户可以很方便地将其嵌入进自己的C++项目(纯C++项目或者Qt都可以)中来搭建FTP服务器。
在应用程序中使用fineFTP很简单。只需创建一个FtpServer对象,添加一个或多个用户并启动服务器。如下所示:
#include <fineftp/server.h>
#include <thread>
int main() {
fineftp::FtpServer ftp_server(2121);
ftp_server.addUserAnonymous("C:\\", fineftp::Permission::All);
ftp_server.start(4);
for (;;) std::this_thread::sleep_for(std::chrono::milliseconds(100));
return 0;
}
本文讲述其在windows平台的下载和编译。
二、下载安装前的准备
下载前需要安装git(链接:https://git-scm.com/,windows平台安装方法参考:Windows系统Git安装教程),cmake(链接:https://cmake.org/download/,windows平台安装方法参考:Windows下CMake安装教程)。
三、下载和编译FineFTP
直接参考github上的下载编译方式即可:
git clone https://github.com/continental/fineftp-server.git
cd fineftp-server
git submodule init
git submodule update
mkdir _build
cd _build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=_install
然后使用vs2015打开下图中的_build\fineftp.sln,编译
编译完成后,会在_build\example\Debug目录下生成example.exe,该文件即为fineFTP的例程的可执行文件,右键以管理员身份运行(用管理员是因为设置的ftp目录可能需要用到权限),即可启动ftp服务器。
然后我们启动ftp客户端(比如flashfxp),连接上述ftp服务器,即可对其进行上传和下载测试