从源码构建
登录后可跨设备保存划线和私人笔记登录
从源代码构建
首先请确认您的系统已满足 Apache Thrift 环境要求 中的全部必要条件。
如果您是首次从源代码仓库进行构建,则需要生成 configure 脚本。(如果您下载的是已发布的 tarball 包,则无需执行此步骤。)在顶层目录下执行:
./bootstrap.shconfigure 脚本生成之后,就可以对 thrift 进行配置了。在顶层目录中执行:
./configure禁用某种语言:
./configure --without-java你可能需要明确指定 boost 文件的位置。如果将 boost 安装在 /usr/local 下,可以按如下方式运行 configure:
./configure --with-boost=/usr/local如果要覆盖 Java SDK 的检测逻辑,请使用 JAVAC 环境变量:
./configure JAVAC=/usb/bin/javac注意,默认情况下 thrift 的 C++ 库通常会包含调试符号一起构建。如果你想自定义这些选项,应该在 configure 中使用 CXXFLAGS 选项,格式如下:
./configure CXXFLAGS='-g -O2'
./configure CFLAGS='-g -O2'
./configure CPPFLAGS='-DDEBUG_MY_FEATURE'要查看其他配置选项,请运行
./configure --help运行完 configure 后,即可通过 make 构建 Thrift:
make并运行测试套件:
make check以及跨语言测试套件:
python3 test/test.py编译过程中遇到的问题
- “compiler/cpp/thriftl.cc:2190: undefined reference to `yywrap’”
你需要安装 Flex 库(另请参阅 Apache Thrift 依赖要求),然后重新运行配置脚本。
- 在构建 Thrift 运行时库时出现 “mv: cannot stat “‘.deps/TBinaryProtocol.Tpo’: No such file or directory””
重新运行 configure
--enable-libtool-lock或者通过关闭并行 make 来实现,方法是在 lib/cpp/Makefile 中加入 .NOTPARALLEL:,亦或
make -j 1尽管 Thrift 编译器的构建看起来可以在不使用 libtool 锁的情况下与并行 make 兼容,但 Thrift 运行时库的构建并非如此。
安装
进入顶层目录,切换为超级用户,然后执行:
make install请注意,部分语言包需要使用更适合这些语言的构建工具手动安装(适用于 Java、Ruby、PHP)。
有关各语言库包安装的详细信息,请查阅 lib/<语言>/ 目录下的 README 文件。
评论
登录后参与评论
正在加载评论…
KnowForge