tensorflow에 타사 C 라이브러리를 추가하여 예제 중 하나에서 사용할 수 있습니다. 따라야 할 예가없는 것처럼 보이므로 어떤 도움도 인정 될 것입니다.tensorflow에 타사 C 라이브러리를 추가하는 방법은 무엇입니까?
여기 제 3 자 C 라이브러리로 event2를 사용하고있는 제 작품입니다.
나는 event2/헤더를 제공하기 위해 '에선 -s'tensorflow에서/THIRD_PARTY을 만들었습니다
ls -al ~/code/tensorflow/third_party/event2
lrwxr-xr-x 1 XXXX staff 25 May 17 16:03 ~/code/tensorflow/third_party/event2 -> /usr/local/include/event2
/usr/local/include> ls event2
BUILD bufferevent_struct.h event_compat.h listener.h thread.h
buffer.h dns.h event_struct.h rpc.h util.h
buffer_compat.h dns_compat.h http.h rpc_compat.h visibility.h
bufferevent.h dns_struct.h http_compat.h rpc_struct.h
bufferevent_compat.h event-config.h http_struct.h tag.h
bufferevent_ssl.h event.h keyvalq_struct.h tag_compat.h
THIRD_PARTY/event2/BUILD : tensorflow/예에서
licenses(["notice"])
cc_library(
name = "event2",
srcs = glob([ "*.h" ]),
visibility = [ "//visibility:public" ],
)
/그것은 공동
cc_binary(
name = "label_image",
srcs = [
"main.cc",
"my_new_file_using_events.c",
"my_new_file_using_events.h",
],
linkopts = ["-lm", ],
copts = [ "-Ithird_party", ],
deps = [
"//tensorflow/cc:cc_ops",
"//tensorflow/core:framework_internal",
"//tensorflow/core:tensorflow",
"//third_party/event2:event2",
],
)
: label_image/BUILD, 나는 libevent하는 기준과 events2 라이브러리를 사용하여 내 테스트 파일을 추가 잘 mpiles하지만 바이너리를 실행할 때 다음과 같은 오류를 얻을 :
dyld: lazy symbol binding failed: Symbol not found: _event_base_new
Referenced from: /Users/XXXX/code/tensorflow/bazel-bin/tensorflow/examples/label_image/label_image
Expected in: flat namespace
dyld: Symbol not found: _event_base_new
Referenced from: /Users/XXXX/code/tensorflow/bazel-bin/tensorflow/examples/label_image/label_image
Expected in: flat namespace
[1] 41395 trace trap bazel-bin/tensorflow/examples/label_image/label_image
libevent.a, libevent.dylib 및 기타 libevent * libs와/usr/local/lib에 있습니다. nm에 따르면, event_base는 정의되지 않았습니다.
nm -f label_image | grep event_base
U _event_base_dispatch
U _event_base_new
어떻게이 링크 오류를 해결할 수 있습니까? 감사.