Я на MacOS High Sierra 10.13.6
Я установил комиссионные следующим образом:
$ brew install thrift
Это следующая версия:
$ thrift --version
Thrift version 0.11.0
Я установил надстройку следующим образом:
$ brew install boost
У меня есть следующий файл model.thrift:
struct Person {
1: required i32 age;
}
Я запускаю компилятор Thrift для генерации кода cpp следующим образом:
$ thrift -gen cpp model.thrift
Мне нужен следующий файл cpp_encode.cpp, который включает генерируемый код:
#include "gen-cpp/model_types.h"
int main(int argc, char const *argv[])
{
return 0;
}
Я пытаюсь скомпилировать файл следующим образом:
$ g++ -Wall -I /usr/local/include -L /usr/local/lib -o cpp_encode cpp_encode.cpp
Версия компилятора выглядит следующим образом:
$ g++ --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Я получаю следующую ошибку компиляции:
$ g++ -Wall -I /usr/local/include -L /usr/local/lib -o cpp_encode cpp_encode.cpp
In file included from cpp_encode.cpp:1:
In file included from ./gen-cpp/model_types.h:14:
In file included from /usr/local/include/thrift/TBase.h:24:
In file included from /usr/local/include/thrift/protocol/TProtocol.h:28:
In file included from /usr/local/include/thrift/transport/TTransport.h:24:
/usr/local/include/thrift/stdcxx.h:32:10: fatal error: 'boost/tr1/functional.hpp' file not found
#include <boost/tr1/functional.hpp>
Каталог / usr / local / boost существует:
$ ls -1 /usr/local/include/boost
accumulators
algorithm
align
align.hpp
aligned_storage.hpp
any.hpp
archive
[...]
Но каталог / usr / local / include / boost / tr1 не существует:
$ ls -1 /usr/local/include/boost/tr1
ls: /usr/local/include/boost/tr1: No such file or directory
Должен ли я установить / usr / local / include / boost / tr1? Если да, то как?
Должен ли я использовать Thrift по-другому?