構建cpp-netlib錯誤1
在我的上一篇文章(1)中,在進行到build and install cpp-netlib部分的下列命令時:
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
出現錯誤提示,如下圖所示:
意思非常明顯:系統還沒有安裝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
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文題目:LeanCloudC++SDK初步安裝測試記錄(2)-創新互聯
分享URL:http://vcdvsql.cn/article40/ddjceo.html
成都網站建設公司_創新互聯,為您提供網站建設、標簽優化、用戶體驗、定制開發、搜索引擎優化、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯