如何配置 bazel 以使用 python site-packages 中安装的 tensorflow 构建 C++ 应用程序

How to configure bazel to build C++ app using tensorflow installed in python site-packages

这个问题主要是关于使用 bazel 开发一个 C++ 应用程序,该应用程序使用 headers 的第 3 方包和构建的库,headers 可作为系统包含访问,即使用尖括号来指定 headers: #include <header.h>

我希望这是一个常见的用例,但在搜索文档一个小时后,我仍然没有看到明显的尝试方法。

我的特定用例是使用从源代码构建的 tensorflow 1.4。 Tensorflow 安装在我系统的这个位置:

~/.pyenv/versions/3.6.3/envs/tensorflow14py36/lib/python3.6/site-packages/tensorflow

如何修改我的 bazel BUILD and/or WORKSPACE 以便我可以编译(并最终 link)我的包含 tensorflow headers 的应用程序,例如:

#include <tensorflow/core/public/session.h>

我发现了一个相关问题:How to build and use Google Tensorflow 看来最接近我预期的推荐解决方案是简单地将 headers 和库复制到 /usr/local/。我更喜欢不同的解决方案,但现在,我成功地使用了这种方法。

我还向 Tensorflow 团队提出了一个问题:https://github.com/tensorflow/tensorflow/issues/15290