C++ 未定义的符号:_znk10传感器流量*

C++ 未定义的符号:_znk10传感器流量*,c++,unity3d,tensorflow,shared-libraries,bazel,C++,Unity3d,Tensorflow,Shared Libraries,Bazel,下面是unity中运行TensorFlow的指南。我到处找了找,但找不到任何有用的东西。我将libTFModel.so文件放在“project_name/Assets/Plugins/libTFModel.so”目录中,并在一个C脚本中使用 private const字符串库\u NAME=“TFModel”; [DllImport(库名称)]找到文件,但随后输出未定义的符号:\u zn10tensorflow19kcolocationatrname,因此不会运行。我看过一篇文章,其中提到baz

下面是unity中运行TensorFlow的指南。我到处找了找,但找不到任何有用的东西。我将libTFModel.so文件放在“project_name/Assets/Plugins/libTFModel.so”目录中,并在一个C脚本中使用
private const字符串库\u NAME=“TFModel”;
[DllImport(库名称)]
找到文件,但随后输出
未定义的符号:\u zn10tensorflow19kcolocationatrname
,因此不会运行。我看过一篇文章,其中提到bazel生成的*.so文件包含严格的TensorFlow符号,所以我想知道
bazel build:libTFModel。那么
命令应该有任何特殊标志吗?

您是在TensorFlow存储库的克隆中生成的吗?如果是这样,请尝试使用
tf_cc_binary
规则而不是
cc_binary
构建?您需要将
load(“//tensorflow:tensorflow.bzl”,“tf\u cc\u binary”)
添加到构建文件的顶部。我是,我也尝试过,即使这样,它也会给出相同的未定义符号错误。符号在libtensorflow\u框架中。那么,我该如何检查?如果是这样的话,我应该将libtensorflow_framework.so放在unity3d中吗?
nm-g/usr/local/lib/python3.6/dist-packages/tensorflow/libtensorflow_framework.so | grep ColocationAttr
表明符号在我的机器上。是的,问题似乎是libTFModel.So没有找到libtensorflow_framework.So
objdump-a-x libTFModel.so | grep PATH
将告诉您它在哪里查找(我还将检查
ldd libTFModel.so
以确保它正在查找
libtensorflow\u framework.so
)。