2017-02-02 3 views
2

Я не могу выйти за пределы make protobuf из-за ошибки ниже. Я прочитал несколько блогов, они рекомендовали установить brew install protobuf. Сделал это. Все еще не в состоянии построить.j2objc /usr/local/lib//libprotobuf.a(strutil.o) ld: 55 повторяющиеся символы для архитектуры x86_64

Я строю на 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 

Edit

Я пытался экспортировать

export PROTOBUF_ROOT_DIR=~/Downloads/protobuf-3.0.0/src/

Поскольку я нашел code_generator.h в

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

По-прежнему такая же ошибка. Я не экспортирую правильную переменную?

Редактировать

  1. Для системы Mac, Unix инструменты не доступны по умолчанию. Сначала вам нужно будет установить Xcode с Mac AppStore, а затем выполните следующую команду из терминала:

  2. $ sudo xcode-select --install

  3. Для установки инструментов Unix, вы можете установить «порт», следуя инструкциям на https://www.macports.org. Это будет находиться в/opt/local/bin/port для большинства установок Mac.

  4. $ sudo /opt/local/bin/port install autoconf automake libtool

Теперь я столкнулся следующую ошибку

/Users/jsiddharth/Desktop/workspace/test/j2objc-master/protobuf/compiler/build_result/google/protobuf/stubs/strutil.o /usr/local/lib//libprotobuf.a(strutil.o) ld: 55 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: * [/Users/jsiddharth/Desktop/workspace/test/j2objc-master/protobuf/compiler/build_result/j2objc_protoc] Error 1 make: * [protobuf_compiler_dist] Error 2

ответ

2

Optional Setup for Protocol Buffers в Building J2ObjC документ должен работать. Я думаю, что шаг не хватает, чтобы определить переменную PROTOBUF_ROOT_DIR среды заварить включим корневой каталог (это/USR/местные/включить по умолчанию):

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

пробовал, не работает, точно такой же вопрос .. – Siddharth

+0

Для вашего я тоже начал зарабатывать :) – Siddharth

+0

любое обновление по этому вопросу? – Siddharth

Смежные вопросы