Ubuntu系统C++环境安装ftpclient-cpp库报错问题咨询
ftpclient-cpp 安装报错及使用问题解决方案
基础概念澄清
官方文档提到的「包含首个CMakeLists.txt的目录」就是你执行git clone生成的ftpclient-cpp仓库的根目录,和libcurl、GTest的目录完全无关,这两个是依赖库,只需要提前安装到系统路径即可,不需要参与本项目的构建流程。
你之前出现#include "FTPClient.h"找不到的报错,核心原因是编译自己的代码时没有指定该头文件所在的目录,和依赖库配置无关。
CMake报错原因及修复
你执行cmake时出现的TestFTP目录不存在报错是上游仓库本身的配置问题:根目录的CMakeLists.txt文件第27行错误引用了不存在的测试子目录,和你的操作流程没有关系。
完整可运行的安装使用步骤
- 第一步:先安装所有依赖,Ubuntu下直接执行以下系统命令即可:
sudo apt update sudo apt install libcurl4-openssl-dev libgtest-dev cmake build-essential
- 第二步:修改ftpclient-cpp仓库根目录下的CMakeLists.txt,注释或者删除第27行的
add_subdirectory(TestFTP)配置。如果你不需要运行单元测试,也可以直接删除所有和GTest、测试相关的配置段,不影响静态库编译。 - 第三步:执行构建命令生成静态库:
cd ftpclient-cpp # 切换到仓库根目录 mkdir -p build cd build cmake .. -DCMAKE_BUILD_TYPE:STRING=Debug make
- 第四步:构建完成后,build目录下会生成
libftpclient-cpp.a静态库文件,头文件统一存放在仓库根目录的include文件夹下。你自己的代码编译时需要指定这两个路径,示例编译命令如下:
g++ 你的代码源文件.cpp -o 输出程序名 -I /path/to/ftpclient-cpp/include -L /path/to/ftpclient-cpp/build -lftpclient-cpp -lcurl
内容的提问来源于stack exchange,提问作者Alessandro Cinque
相关产品推荐
相关产品推荐

