2017-02-02 2 views
2

Ich bin nicht in der Lage, über den make protobuf Schritt wegen des Fehlers unten zu kommen. Ich lese einige Blogs auf, sie empfehlen die Installation brew install protobuf. Tat dies. Immer noch nicht in der Lage zu bauen.j2objc /usr/local/lib//libprotobuf.a(strutil.o) ld: 55 doppelte Symbole für Architektur x86_64

Ich baue auf einem 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 

bearbeiten

Ich versuchte

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

zu exportieren Da ich die code_generator.h in

gefunden

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

Immer noch der gleiche Fehler. Exportiere ich nicht die richtige Variable?

bearbeiten

  1. Für ein Mac-System sind Unix-Tools nicht standardmäßig verfügbar. Sie werden zunächst Xcode aus dem Mac App Store installieren müssen und dann von einem Terminal den folgenden Befehl ausführen:

  2. $ sudo xcode-select --install

  3. Unix-Tools installieren, können Sie „Port“ nach den Anweisungen auf https://www.macports.org installieren. Dies wird für die meisten Mac-Installationen in/opt/local/bin/port gespeichert.

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

Jetzt bin vor ich folgende Fehlermeldung

/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

Antwort

2

Die Optional Setup for Protocol Buffers im Building J2ObjC doc funktionieren sollte. Ich denke, der fehlende Schritt ist eine PROTOBUF_ROOT_DIR Umgebungsvariable zu definieren, um die Root-Verzeichnis enthalten zu brauen (es ist/usr/local/standardmäßig enthalten):

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

versucht, funktionierte nicht, genau gleiche Problem .. – Siddharth

+0

Für Ihre Nutzen, ich habe auch ein Kopfgeld begonnen :) – Siddharth

+0

Irgendwelche Updates dazu? – Siddharth

Verwandte Themen