【发布时间】:2017-10-06 13:46:56
【问题描述】:
我在 macOS 上尝试了 TensorFlow C++ API (https://www.tensorflow.org/api_guides/cc/guide) 的示例。
我所做的是:
- 安装 bazel
- git clone --recursive https://github.com/tensorflow/tensorflow
- ./configure 在上面克隆的目录中 (因为我的机器 GPU 很差,所以禁用了 OpenCL 支持)
- 根据指南制作 tensorflow/cc/example/example.cc 和 tensorflow/cc/example/BUILD
- bazel run -c opt //tensorflow/cc/example:example
编译成功,但出现以下错误。
dyld: Symbol not found: __ZN10tensorflow10DEVICE_CPUE
Referenced from: /private/var/tmp/_bazel_yuji/a8fcd93e6cfa4967cc9ea4c6e4cf2977/execroot/org_tensorflow/bazel-out/darwin_x86_64-py3-opt/bin/tensorflow/cc/example/example
Expected in: flat namespace
in /private/var/tmp/_bazel_yuji/a8fcd93e6cfa4967cc9ea4c6e4cf2977/execroot/org_tensorflow/bazel-out/darwin_x86_64-py3-opt/bin/tensorflow/cc/example/example
例子中没有使用全局变量DEVICE_CPU,所以看来是tensorflow库的问题。
如何避免?
我在 Ubuntu 上尝试了相同的操作,但在编译的最后阶段遇到了许多链接器错误,例如,
错误:未定义对的引用
【问题讨论】:
标签: c++ tensorflow bazel