thrift编译设置
附加包含目录
1
2
3
Z:\libraries\thrift\thrift-0.11.0\lib\cpp\src;
Z:\libraries\thrift\thrift-0.11.0\lib\cpp\src\thrift\windows;
Z:\libraries\boost\boost_1_66_0;
预处理器定义
1
2
3
4
HAVE_CONFIG_H=1
WIN32
_DEBUG
_CONSOLE
代码生成:
1
2
DEBUG 运行库 MTD
RELEASE 运行库 MT
预编译头
附加依赖项
1
2
3
libssl.lib
libthrift.lib
libcrypto.lib
附加库目录
1
2
3
Z:\libraries\boost\boost_1_66_0\stage\lib;
z:\libraries\openssl\OpenSSL-Win32\lib;
Z:\libraries\thrift\thrift-0.11.0\lib\cpp\Debug-mt;
## 错误处理使用vs2017编译thrift项目时出现以下错误:objbase.h(230): error C2760错误的解决的解决办法:
1
2
#在stdafx.h中添加
#define WIN32_LEAN_AND_MEAN
## openssl 编译设置
动态编译
1
2
3
4
5
6
WIN64
perl Configure VC-WIN64A no-asm --prefix=z:\libraries\openssl\vc-64
nmake clean
nmake
nmake test
nmake install
静态编译
1
2
3
4
5
6
makefile and configdata 两个文件中的/MD改为/MT
perl Configure VC-WIN64A no-asm --prefix=z:\libraries\openssl\vc-64_static
nmake clean
nmake
nmake test
nmake install
## thrift 0.11.0编译问题及解决:
一、包含目录要加上openssl的目录引用
二、THttpserver.cpp与THttpclient.cpp中的
1
2
//#include 此行改为
#include
三、添加以下宏定义
1
2
//在中
#define PACKAGE_VERSION “${PACKAGE_VERSION}”
## thrift客户端与服务器编译设置:(release编译设置静态编译WITH VS2017)
c++常规–附加包含目录:
1
2
3
Z:\libraries\thrift\thrift-0.11.0\lib\cpp\src
Z:\libraries\thrift\thrift-0.11.0\lib\cpp\src\thrift\windows
Z:\libraries\boost\boost_1_66_0
链接器–常规–附加库目录
1
2
3
Z:\libraries\thrift\thrift-0.11.0\lib\cpp\release-mt
Z:\libraries\boost\boost_1_66_0\stage\lib141
Z:\libraries\openssl\OpenSSL-Win32\lib
链接器–输入–附加依赖项
1
2
3
libthrift.lib
libssl.lib
libcrypto.lib
## 使用odb时自定义生成:
在项目中选中类文件如:employee.hxx 右键–属性–配置属性–常规–项类型 设置成:自定义生成工具
然后选中:自定义生成工具并设置如下:
命令行:
1
odb.exe --std c++11 --database sqlite --generate-query --generate-schema --table-prefix boost_ employee.hxx
说明:
输出:
1
2
3
employee-odb.hxx
employee-odb.ixx
employee-odb.cxx
## docker使用hexo
1.安装Hexo
1
docker run --name hexo -it -p 8083:80 -v `pwd`: /usr/share/nginx/html/source simplyintricate/hexo
2.发布一篇blog
1
docker exec -it hexo hexo new "This is one post"
## ODB项目设置:
输入
包含目录
1
2
3
z:\libraries\orm\sqlite3\sqlite-amalgamation-3220000;
z:\libraries\orm\odb2.4\libodb-2.4.0;
z:\libraries\orm\odb2.4\libodb-sqlite-2.4.0;
库目录
1
z:\libraries\orm\sqlite3\;
## odb备注
1
使用编译指令#pragma db transient 把字段声明为临时的,也就是该字段不保存与数据库中。
## Error: ENOSPC: no space left on device查看存储空间
查看i节点
看是那种情况。
不幸的是我哪种都不是,后来在stackflow找到了答案。
问题原因:You may have reached your quota of watches.
解决办法
查看目前的最大值
To find your current limit, type this in your terminal:
1
$cat /proc/sys/fs/inotify/max_user_watches
增加最大值
Which is typically 8192 by default.
To increase your limit, type this:
1
$sudo sysctl fs.inotify.max_user_watches=16384
永久设置最大值
Then restart django.
To permanently set this limit, type this:
1
$echo 16384 | sudo tee -a /proc/sys/fs/inotify/max_user_watches
0
- [编译thrift0.11](/tags/%E7%BC%96%E8%AF%91thrift0-11/)
[**Newer**
金箍棒之殇
](/posts/15069/)[**Older**
如何同步Hexo网站到github
](/posts/54923/)
### Categories
- [我的作品](/categories/%E6%88%91%E7%9A%84%E4%BD%9C%E5%93%81/)3
- [敏捷开发](/categories/%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91/)1