LeanCloudC++SDK初步安装测试记录(2)-创新互联-成都快上网建站

LeanCloudC++SDK初步安装测试记录(2)-创新互联

构建cpp-netlib错误1

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的石阡网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

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

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

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

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

意思非常明显:系统还没有安装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

     ^

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

     ^

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

     ^

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:LeanCloudC++SDK初步安装测试记录(2)-创新互联
链接分享:http://kswjz.com/article/ddjceo.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流