VS2017编译thrift0.12.0记录

VS2017编译thrift0.12.0 

因为目前VS2017 VS自带的Nuget仅支持0.11.0.4及以下版本thrift的安装,故我自行编译了0.12.0版本的thrift

用VS2017 VS自带的Nuget安装boost、libevent、openssl  然后编译

 

>D:\MySpace\IDE\VS2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(391,5): warning MSB8028: 中间目录(Release\)包含从另一个项目(libthriftnb.vcxproj)共享的文件。   这会导致错误的清除和重新生成行为。
1>TApplicationException.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TOutput.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TAsyncChannel.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\stdcxx.h(23): fatal error C1083: 无法打开包括文件: “boost/config.hpp”: No such file or directory
1>TConcurrentClientSyncInfo.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>BoostMonitor.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>BoostMutex.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>BoostThreadFactory.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>StdThreadFactory.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>ThreadManager.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TimerManager.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>Util.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>PeekProcessor.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TBase64Utils.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\protocol\tbase64utils.cpp(22): fatal error C1083: 无法打开包括文件: “boost/static_assert.hpp”: No such file or directory
1>TDebugProtocol.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TJSONProtocol.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TMultiplexedProtocol.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TProtocol.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TConnectedClient.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\stdcxx.h(23): fatal error C1083: 无法打开包括文件: “boost/config.hpp”: No such file or directory
1>TServerFramework.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\stdcxx.h(23): fatal error C1083: 无法打开包括文件: “boost/config.hpp”: No such file or directory
1>TSimpleServer.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\stdcxx.h(23): fatal error C1083: 无法打开包括文件: “boost/config.hpp”: No such file or directory
1>正在编译...
1>TThreadPoolServer.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\server\tthreadpoolserver.h(23): fatal error C1083: 无法打开包括文件: “boost/atomic.hpp”: No such file or directory
1>TThreadedServer.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\stdcxx.h(23): fatal error C1083: 无法打开包括文件: “boost/config.hpp”: No such file or directory
1>TBufferTransports.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\transport\tbuffertransports.h(26): fatal error C1083: 无法打开包括文件: “boost/scoped_array.hpp”: No such file or directory
1>TFDTransport.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TFileTransport.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>THttpClient.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\transport\thttpclient.cpp(23): fatal error C1083: 无法打开包括文件: “boost/algorithm/string.hpp”: No such file or directory
1>THttpServer.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\transport\thttpserver.cpp(24): fatal error C1083: 无法打开包括文件: “thrift/config.h”: No such file or directory
1>THttpTransport.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\transport\tbuffertransports.h(26): fatal error C1083: 无法打开包括文件: “boost/scoped_array.hpp”: No such file or directory
1>TPipe.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\transport\ttransportexception.h(23): fatal error C1083: 无法打开包括文件: “boost/numeric/conversion/cast.hpp”: No such file or directory
1>TPipeServer.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TSSLSocket.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TServerSocket.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TSimpleFileTransport.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TSocket.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TTransportException.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\transport\ttransportexception.h(23): fatal error C1083: 无法打开包括文件: “boost/numeric/conversion/cast.hpp”: No such file or directory
1>TTransportUtils.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>GetTimeOfDay.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>OverlappedSubmissionThread.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>SocketPair.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>TWinsockSingleton.cpp
1>d:\myspace\ide\thrift\thrift_0120\thrift-0.12.0\lib\cpp\src\thrift\windows\twinsocksingleton.h(34): fatal error C1083: 无法打开包括文件: “boost/noncopyable.hpp”: No such file or directory
1>正在编译...
1>WinFcntl.cpp
1>已完成生成项目“libthrift.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

 

编译报错如上, 在libthrift工程属性中设置C++附加包含目录 [在工程目录下]

D:\MySpace\DevDepend\thrift-0.12.0\thrift-0.12.0\lib\cpp\packages\openssl-vc141.1.1.0\build\native\include;D:\MySpace\DevDepend\libevent-2.1.8-stable\public\include;D:\MySpace\DevDepend\thrift-0.12.0\thrift-0.12.0\lib\cpp\packages\boost.1.69.0.0\lib\native\include;%(AdditionalIncludeDirectories)

再次编译,报错如下

\thttpclient.cpp(25): fatal error C1083: 无法打开包括文件: “thrift/config.h”: No such file or directory
查资料得知 是因为没有正常生成config.h文件。于是我手动写了一个放在 D:\MySpace\DevDepend\thrift-0.12.0\thrift-0.12.0\lib\cpp\src\thrift 目录下 如下

#include <stdlib.h>
#include <string.h>

#define PACKAGE_VERSION "0.12.0"

然后继续编译,编译成功!!!

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值