LeanCloud C++ SDK初步安装测试记录(2)

简介:

构建cpp-netlib错误1


在我的上一篇文章(1)中,在进行到build and install cpp-netlib部分的下列命令时:


cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++

出现错误提示,如下图所示:

wKiom1cQnzKCIilTAAF_-fzgxyg849.png

意思非常明显:系统还没有安装OpenSSL库。


我立即执行如下命令:

openssl version

结果如下:

OpenSSL 0.9.8zg 14 July 2015

说明系统变量OPENSSL_ROOT_DIR还有建立。

另外,根据简单分析得知,这个0.9.8ZG版本是MAC系统自带的,而且不完全。

再如下命令:

brew link openssl --force

输出如下:


Linking /usr/local/Cellar/openssl/1.0.2f... 1561 symlinks created


其实,这个正是我以前使用brew命令安装的。进一步通过ls命令分析,这个文件夹(/usr/local/Cellar/openssl/1.0.2f)下具有齐备的一切。


于是,根据上面的错误提示,把上面的编译命令修改为如下:

cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2f -DOPENSSL_INCLUDE_DIR=/usr/local/Cellar/openssl/1.0.2f/include

这里的解决方案中,我们没有在系统环境配置文件(.bash_profile)中加入对应的环境变量。

上面的命令在运行时成功,输出如下内容:


-- Boost version: 1.60.0

-- Found the following Boost libraries:

--   unit_test_framework

--   system

--   regex

--   date_time

--   thread

--   filesystem

--   program_options

--   chrono

--   atomic

-- Found OpenSSL: /usr/lib/libssl.dylib;/usr/lib/libcrypto.dylib (found version "1.0.2f") 

-- Configuring done

-- Generating done

-- Build files have been written to: /Users/zxzpc/Downloads/leancloud-cpp-sdk/cpp-sdk/lib/cpp-netlib/cpp-netlib-build


经过上述操作后,再次构建和运行cpp-netlib成功,但是在运行其中有关的几个实例时出现错误。这个问题后面再另外撰文介绍。


构建jsoncpp库没有问题


操作步骤如下:

$ cd lib/jsoncpp
$ mkdir jsoncpp-build
$ cd jsoncpp-build
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
$ make -j4 && make install

构建AVOSCloud C++ SDK库出现错误


按照下述步骤操作:


$ cd cpp-sdk
$ mkdir cpp-sdk-build
$ cd cpp-sdk-build
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
$ make -j4 && make install

在进行到最后一步时出现如下所示错误:

zxz-iMac:cpp-sdk-build zxzpc$ make -j4 && make install

Scanning dependencies of target avoscloud

[ 14%] Building CXX object src/CMakeFiles/avoscloud.dir/ACL/AVACL.cpp.o

[ 11%] Building CXX object src/CMakeFiles/avoscloud.dir/AVOSCloud.cpp.o

[ 14%] Building CXX object src/CMakeFiles/avoscloud.dir/ACL/AVRole.cpp.o

[ 14%] Building CXX object src/CMakeFiles/avoscloud.dir/AVObject/AVObject.cpp.o

In file included from /Users/zxzpc/Downloads/leancloud-cpp-sdk/cpp-sdk/src/ACL/AVACL.cpp:16:

/Users/zxzpc/Downloads/leancloud-cpp-sdk/cpp-sdk/include/Request/AVPaasClient.h:19:10: fatal error: 

      'boost/network/protocol/http/client.hpp' file not found

#include <boost/network/protocol/http/client.hpp>

         ^

In file included from /Users/zxzpc/Downloads/leancloud-cpp-sdk/cpp-sdk/src/AVObject/AVObject.cpp:18:

/Users/zxzpc/Downloads/leancloud-cpp-sdk/cpp-sdk/include/Request/AVPaasClient.h:19:10: fatal error: 

      'boost/network/protocol/http/client.hpp' file not found

#include <boost/network/protocol/http/client.hpp>

         ^

In file included from /Users/zxzpc/Downloads/leancloud-cpp-sdk/cpp-sdk/src/AVOSCloud.cpp:14:

/Users/zxzpc/Downloads/leancloud-cpp-sdk/cpp-sdk/include/Request/AVPaasClient.h:19:10: fatal error: 

      'boost/network/protocol/http/client.hpp' file not found

#include <boost/network/protocol/http/client.hpp>

         ^

1 error generated.

1 error generated.

make[2]: *** [src/CMakeFiles/avoscloud.dir/ACL/AVACL.cpp.o] Error 1

make[2]: *** Waiting for unfinished jobs....

make[2]: *** [src/CMakeFiles/avoscloud.dir/AVObject/AVObject.cpp.o] Error 1

1 error generated.

make[2]: *** [src/CMakeFiles/avoscloud.dir/AVOSCloud.cpp.o] Error 1

make[1]: *** [src/CMakeFiles/avoscloud.dir/all] Error 2

make: *** [all] Error 2


这种错误看起来简单,主要是头文件中嵌套引用头文件路径不对出现的错误。

.........





参考文章:


http://stackoverflow.com/questions/16248775/cmake-not-able-to-find-openssl











本文转自朱先忠老师51CTO博客,原文链接:http://blog.51cto.com/zhuxianzhong/1764206 ,如需转载请自行联系原作者










相关文章
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
481 86
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
1062 11
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
前端开发 JavaScript 开发工具
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
1039 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
JavaScript 编译器 开发工具
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
823 2
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
人工智能 测试技术 API
Windows用户必备:Postman v11详细安装指南与API测试入门教程(附官网下载
Postman是全球领先的API开发与测试工具,支持REST、SOAP、GraphQL等协议调试。2025年最新版v11新增AI智能生成测试用例、多环境变量同步等功能,适用于前后端分离开发、自动化测试、接口文档自动生成及团队协作共享API资源。本文详细介绍Postman的软件定位、核心功能、安装步骤、首次配置、基础使用及常见问题解答,帮助用户快速上手并高效利用该工具进行API开发与测试。
|
SQL 缓存 关系型数据库
MySQL8.4 Enterprise安装Firewall及测试
MySQL8.4 Enterprise安装Firewall及测试
451 0
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
457 6
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
343 7
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
567 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
348 18

热门文章

最新文章