make: *** [all] make 时出现错误 2

make: *** [all] make 时出现错误 2

尝试构建并安装 Apache Thrift 编译器和库 -

./configure && make

但后来我得到了 make 错误,我似乎不明白它失败的地方......

thrift 0.9.3

Building C++ Library ......... : no
Building C (GLib) Library .... : no
Building Java Library ........ : no
Building C# Library .......... : no
Building Python Library ...... : no
Building Ruby Library ........ : no
Building Haxe Library ........ : no
Building Haskell Library ..... : no
Building Perl Library ........ : no
Building PHP Library ......... : no
Building Erlang Library ...... : no
Building Go Library .......... : no
Building D Library ........... : no
Building NodeJS Library ...... : no
Building Lua Library ......... : no

If something is missing that you think should be present,
please skim the output of configure to find the missing
component.  Details are present in config.log.
make  all-recursive
make[1]: Entering directory '/c/University/InternetOfThings/thrift-0.9.3'
Making all in compiler/cpp
make[2]: Entering directory '/c/University/InternetOfThings/thrift-0.9.3/compile                                                                                                                                                 r/cpp'
make  all-am
make[3]: Entering directory '/c/University/InternetOfThings/thrift-0.9.3/compile                                                                                                                                                 r/cpp'
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../lib/cpp/src/thrift  -I./src  -Wall -Wno-                                                                                                                                                 sign-compare -Wno-unused -g -O2 -std=c++11 -MT src/libparse_a-thrifty.o -MD -MP                                                                                                                                                  -MF src/.deps/libparse_a-thrifty.Tpo -c -o src/libparse_a-thrifty.o `test -f 'sr                                                                                                                                                 c/thrifty.cc' || echo './'`src/thrifty.cc
src/thrifty.yy: In function 'int yyparse()':
src/thrifty.yy:1309:30: error: 'strdup' was not declared in this scope
Makefile:912: recipe for target 'src/libparse_a-thrifty.o' failed
make[3]: *** [src/libparse_a-thrifty.o] Error 1
make[3]: Leaving directory '/c/University/InternetOfThings/thrift-0.9.3/compiler                                                                                                                                                 /cpp'
Makefile:588: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/c/University/InternetOfThings/thrift-0.9.3/compiler                                                                                                                                                 /cpp'
Makefile:609: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/c/University/InternetOfThings/thrift-0.9.3'
Makefile:530: recipe for target 'all' failed
make: *** [all] Error 2

帮助将不胜感激。提前致谢!

答案1

这是相关错误:

src/thrifty.yy: In function 'int yyparse()':
src/thrifty.yy:1309:30: error: 'strdup' was not declared in this scope

可能缺少包含内容。您可以尝试添加

 #include <string.h>

到文件顶部src/thrifty.yy

并将错误报告给http://incubator.apache.org/projects/thrift.html

相关内容