1. 程式人生 > >基於curl的linux與windows通訊服務搭建

基於curl的linux與windows通訊服務搭建

一、環境準備

windows:curl、json、base64、visual studio
linux:自帶的swgi模組、base64、json

二、curl配置

下載最新的curl版本:http://curl.haxx.se/latest.cgi?curl=tar.gz
解壓到自定義的一個資料夾裡,假設為 D:\curl
找到你的visual studio安裝目錄中vcvars32.bat檔案的地址
後cmd到該路徑下,執行該vcvars32.bat檔案,用來初始化VS環境。例如我的在D:\Visual Stadio 2015\VC\bin\vcvars32.bat

//在cmd中,先到d盤
d:
//cd 到vcvars32.bat所在目錄 cd "Visual Stadio 2015\VC\bin" //執行vcvars32.bat vcvars32.bat

初始化VS環境後,nmake命令就可以使用了
之後cd到curl目錄下的winbuild,進行編譯

d:
cd "curl\curl-7.57.0\curl-7.57.0\winbuild"
//編譯,由於我的是Visual studio 2015版本,所以VC=14
nmake /f Makefile.vc mode=static VC=14

build好的檔案生成在
D:\curl\curl-7.57.0\curl-7.57.0\builds\libcurl-vc14-x86-release-static-ipv6-sspi-winssl
此時該目錄下有 lib、include 、bin三個資料夾

以下為將curl庫新增進visual studio工程的過程:
1、在Solution Explorer裡右鍵你的工程, 選擇 “Properties”
Configuration Properties > C/C++ > General > Additional Include Directories: 新增D:\curl\curl-7.57.0\curl-7.57.0\builds\libcurl-vc14-x86-release-static-ipv6-sspi-winssl\include
2、Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions: 新增 CURL_STATICLIB
3、Configuration Properties > Linker > General > Additional Library Directories: 新增 D:\curl\curl-7.57.0\curl-7.57.0\builds\libcurl-vc14-x86-release-static-ipv6-sspi-winssl\lib
4、Configuration Properties > Linker > Input > Additional Dependencies: 新增 libcurl_a.lib

curl配置成功

三、json配置

github下載json檔案:https://github.com/open-source-parsers/jsoncpp
在編譯該工程之前,建議執行之下操作:
1、jsoncpp-master\include\json\reader.h

//35行
class JSONCPP_DEPRECATED("Use CharReader and CharReaderBuilder instead") JSON_API Reader {
//改為
class Reader {

避免出現”Use CharReader and CharReaderBuilder instead”錯誤
2、jsoncpp-master\include\json\writer.h

//143行
class JSONCPP_DEPRECATED("Use StreamWriter instead") JSON_API Writer {
//改為
class Writer {

//163行
class JSONCPP_DEPRECATED("Use StreamWriterBuilder instead") JSON_API FastWriter : public Writer {
//改為
class FastWriter : public Writer {

避免出現”Use StreamWriter instead”與”Use StreamWriterBuilder instead”錯誤。

3、之後編譯該工程:
雙擊json目錄下makefiles\msvc2010\jsoncpp.sln
在開啟的VS介面中,先將Solution Explorer->Properties ->c/c++->程式碼生成->執行庫 修改為多執行緒除錯DLL(/MDd)
必須改為跟你自己工程一樣的執行庫。我測試的只有兩個都在(/MDd)這一個執行庫時才不會有問題,不知道怎麼回事。。
選擇本地windows偵錯程式進行json工程編譯,編譯成功後生成lib_json.lib檔案
4、以下為將json庫新增進visual studio工程的過程(以自己的路徑為準)
①新增包含目錄jsoncpp-master/include/json
在Solution Explorer裡右鍵你的工程, 選擇 “Properties”
Configuration Properties > C/C++ > General > Additional Include Directories: 新增D:\json\jsoncpp-master\jsoncpp-master\include\json
②將lib_json.lib所在目錄配置到庫目錄
Configuration Properties > Linker > General > Additional Library Directories: 新增 D:\json\jsoncpp-master\jsoncpp-master\makefiles\msvc2010\Debug
5、連結器>輸入>新增依賴項
新增 lib_json.lib

四、base64配置