Make sure a complete C++ building environment is prepared on your machine.
Bison 2.3 is preinstalled on OSX, but this version is too low. When building Thrift with Bison 2.3, the following error would pop out:
invalid directive: '%code'
For such case, please update Bison
:
brew install bison
brew link bison --force
Then, you need to tell the OS where the new bison is.
For Bash users:
echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.bash_profile
For zsh users:
echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.zshrc
Please make sure a relative new version of Boost is ready on your machine. If no Boost available, install the latest version of Boost:
brew install boost
brew link boost
Make sure the Openssl libraries has been install on your Mac.
The default Openssl include file search path is "/usr/local/opt/openssl/include".
If Openssl header files can not be found when building Thrift, please add option
-Dopenssl.include.dir=""
to specify the correct directory on your Mac.
To install all dependencies, run:
Debian/Ubuntu:
sudo apt-get install gcc g++ bison flex libboost-all-dev
CentOS:
yum install gcc g++ bison flex boost-devel
For Flex and Bison, they could be downloaded from SourceForge: https://sourceforge.net/projects/winflexbison/
After downloaded, please rename the executables to flex.exe and bison.exe and add them to "PATH" environment variables.
For Boost, please download from the official website: https://www.boost.org/users/download/
There is a long list of supported Cmake generators on Windows environment.
Visual Studio 16 2019 = Generates Visual Studio 2019 project files.
Use -A option to specify architecture.
Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
Optional [arch] can be "Win64" or "IA64".
Visual Studio 9 2008 [arch] = Generates Visual Studio 2008 project files.
Optional [arch] can be "Win64" or "IA64".
Borland Makefiles = Generates Borland makefiles.
* NMake Makefiles = Generates NMake makefiles.
NMake Makefiles JOM = Generates JOM makefiles.
MSYS Makefiles = Generates MSYS makefiles.
MinGW Makefiles = Generates a make file for use with
mingw32-make.
Unix Makefiles = Generates standard UNIX makefiles.
Green Hills MULTI = Generates Green Hills MULTI files
(experimental, work-in-progress).
Ninja = Generates build.ninja files.
Ninja Multi-Config = Generates build-<Config>.ninja files.
Watcom WMake = Generates Watcom WMake makefiles.
CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
CodeBlocks - NMake Makefiles = Generates CodeBlocks project fi
(the list is gotten by cmake --help
.)
When building client-cpp project, use -Dcmake.generator="" option to specify a Cmake generator.
E.g., mvn package -Dcmake.generator="Visual Studio 15 2017 [arch]"
on windows, you should set -Dboost.include.dir=${your boost header folder} -Dboost.library.dir=${your boost lib (stage) folder}
if you occur some errors when compiling thrift source code, try to downgrade your xcode-commandline from 12 to 11.5
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。