Java j2objc/usr/local/lib//libprotobuf.a(strutil.o)ld:55架构x86_64的重复符号
由于以下错误,我无法超出make protobuf步骤。我读了一些博客,他们建议安装brew安装protobuf。是我干的。仍然无法建造 我正在Mac 10.11.6上构建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_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。