후손을위한 제 작업 게시. 마지막 예제를 C++로 완성한 후에 실현되었는데 실제로 C에서 모든 것을 수행해야했습니다 (정말 멋지죠?). 두 반복 모두 자바 프로그래머로서 상당한 노력을 기울여 왔고 거기에 많은 샘플 코드가 너무 많은 구멍을 남겨두고 있다고 생각합니다. 예를 들어, 익숙한 누군가를 위해 커맨드 라인에서 상당히 어려운 건물에 대해서는 특히 Eclipse를 사용하여 프로젝트를 빌드하고 종속성을 처리합니다. 양조와 OSX에 대한 종속성을 설치하는 방법Simple Flatbuffers over ZeroMQ C 예제 - 구조체를 zmq의 flatbuffer로 복사 한 다음 구조체로 다시 복사하십시오.
:
brew install flatcc
brew install zeromq
당신은뿐만 아니라 설치된 모든 표준 빌더 바이너리가 필요합니다. 나는 컴파일하기 위해 GCC를 사용 :
gcc publisher.c -o bin/zmq_pub -lzmq -lflatcc
gcc subscriber.c -o bin/zmq_sub -lzmq
이것은 당신이 심볼릭 링크 얻을해야 zmq 및 flatcc 라이브러리를 설치 한 가정하여/양조 그들을 설치를 완료 한 후 USR// 지역은 다음과 같습니다. 이처럼 :
zmq_cpub $ls -la /usr/local/include lrwxr-xr-x 1 user group 37 Oct 18 18:43 flatcc -> ../Cellar/flatcc/0.3.4/include/flatcc
당신과 같은 컴파일 오류를 얻을 수 있습니다 : Undefined symbols for architecture x86_64:
당신이 라이브러리를 올바르게 설치/연결이없는 경우. 컴파일러/링커는 함수의 이름을 바꾸고 접두어를 _로 붙이면 잠재적으로 혼란 스러울 수 있습니다. _flatcc_builder_init
이 아니더라도 Undefined symbols for architecture x86_64 _flatcc_builder_init
처럼 말입니다.
C/C++의 라이브러리 연결이 Java와 근본적으로 다르기 때문입니다. JAR을 추가하는 특정 프로젝트 빌드 경로 대신 외부 C/C++ 라이브러리를 설치할 수있는 알려진 위치가 있습니다. /usr/local/include
, /usr/local/lib
, /usr/lib
및 /usr/include
.
그리고 당신의 경로에 flatcc 바이너리를 설치 한 후 로컬 프로젝트에서 사용하는 헤더 파일을 생성하는 것을 잊지 마세요 : 내 여행에 직면 거의 모든 장애물해야
flatcc -a Car.fbs
다운 C 레인. 누군가가 도움이되기를 바랍니다.