Java j2objc/usr/local/lib//libprotobuf.a(strutil.o)ld:55架构x86_64的重复符号

Java j2objc/usr/local/lib//libprotobuf.a(strutil.o)ld:55架构x86_64的重复符号,java,protocol-buffers,j2objc,Java,Protocol Buffers,J2objc,由于以下错误,我无法超出make protobuf步骤。我读了一些博客,他们建议安装brew安装protobuf。是我干的。仍然无法建造 我正在Mac 10.11.6上构建 make protobuf_dist c++ -MD -c -o /Users/jsiddharth/Desktop/workspace/test/j2objc-master/protobuf/compiler/build_result/google/protobuf/compiler/j2objc/j2objc_enum.

由于以下错误,我无法超出make protobuf步骤。我读了一些博客,他们建议安装brew安装protobuf。是我干的。仍然无法建造

我正在Mac 10.11.6上构建

make protobuf_dist
c++ -MD -c -o /Users/jsiddharth/Desktop/workspace/test/j2objc-master/protobuf/compiler/build_result/google/protobuf/compiler/j2objc/j2objc_enum.o -x c++ -stdlib=libc++ -Isrc -I../google/src src/google/protobuf/compiler/j2objc/j2objc_enum.cc
In file included from src/google/protobuf/compiler/j2objc/j2objc_enum.cc:35:
In file included from src/google/protobuf/compiler/j2objc/j2objc_enum.h:41:
src/google/protobuf/compiler/j2objc/common.h:44:10: fatal error: 
      'google/protobuf/compiler/code_generator.h' file not found
#include <google/protobuf/compiler/code_generator.h>
         ^
1 error generated.
make[1]: *** [/Users/jsiddharth/Desktop/workspace/test/j2objc-master/protobuf/compiler/build_result/google/protobuf/compiler/j2objc/j2objc_enum.o] Error 1
make: *** [protobuf_compiler_dist] Error 2
编辑

我试图出口到中国

导出PROTOBUF\u ROOT\u DIR=~/Downloads/PROTOBUF-3.0.0/src/

因为我在中找到了代码生成器.h

/Users/jsiddharth/Downloads/protobuf-3.0.0/src/google/protobuf/compiler/code_generator.h

还是一样的错误。我是否没有导出正确的变量

编辑

对于Mac系统,默认情况下Unix工具不可用。您首先需要从Mac AppStore安装Xcode,然后从终端运行以下命令:

$sudo xcode选择-安装

要安装Unix工具,可以按照中的说明安装端口。对于大多数Mac安装,这将驻留在/opt/local/bin/port中

$sudo/opt/local/bin/port安装autoconf automake libtool

现在我面临以下错误

/Users/jsiddharth/Desktop/workspace/test/j2objc master/protobuf/compiler/build_result/google/protobuf/stubs/strutil.o /usr/local/lib//libprotobuf.astrutil.o ld:55体系结构x86_64的重复符号 clang:错误:链接器命令失败,退出代码为1使用-v查看调用 make[1]:*[/Users/jsiddharth/Desktop/workspace/test/j2objc master/protobuf/compiler/build_result/j2objc_protoc]错误1 make:[protobuf\u编译器\u dist]错误2

文档中的参数应该有效。我认为缺少的步骤是将PROTOBUF_ROOT_DIR环境变量定义为brew的include目录根,默认情况下为/usr/local/include:

$ export PROTOBUF_ROOT_DIR=/usr/local/include
$ make protobuf_dist

为了您的利益,我也开始了一项奖励:我们的protobuf专家说,这些安装说明不完整,您应该遵循。有人能帮助构建这个吗?到目前为止,java2obj不构建在mac上。我相信你的工具用户100%都是mac用户。请帮助修复这个问题。java2obj与j2objc是一个完全不同的项目,来自完全不同的团队和公司。我认为java2obj项目已经死了。您有两个选择:使用最近发布的版本,或者在/usr/local/中安装协议缓冲区。感谢您报告PROTOBUF_ROOT_DIR不适用于proto编译器,但是默认的/usr/local可以。我们将在下一版本中修复PROTOBUF_ROOT_DIR。