thrift编译设置
thrift编译设置
附加包含目录
1
2
3Z:\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
4HAVE_CONFIG_H=1
WIN32
_DEBUG
_CONSOLE代码生成:
1
2DEBUG 运行库 MTD
RELEASE 运行库 MT预编译头
1
不使用预编译头
附加依赖项
1
2
3libssl.lib
libthrift.lib
libcrypto.lib附加库目录
1
2
3Z:\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
6WIN64
perl Configure VC-WIN64A no-asm --prefix=z:\libraries\openssl\vc-64
nmake clean
nmake
nmake test
nmake install静态编译
1
2
3
4
5
6makefile 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 <thrift/config.h>此行改为
#include <thrift/thrift.h>三、添加以下宏定义
1
2//在<thrift/thrift-config.h>中
#define PACKAGE_VERSION “${PACKAGE_VERSION}”
thrift客户端与服务器编译设置:(release编译设置静态编译WITH VS2017)
c++常规–附加包含目录:
1
2
3Z:\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
3Z:\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
3libthrift.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
odb employee.hxx
输出:
1
2
3employee-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
db-sqlite.lib;odb.lib
包含目录
1
2
3z:\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
查看存储空间
1 | $df -h |
查看i节点
1 | $df -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
[Newer
金箍棒之殇
](/posts/15069/)[Older
如何同步Hexo网站到github
](/posts/54923/)
Categories
- 标题: thrift编译设置
- 作者: 王慧
- 创建于 : 2018-03-18 10:54:59
- 更新于 : 2021-06-28 02:57:23
- 链接: https://myqzz.net/posts/48e6ceb0/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。