将预编译的tensorflow与cmake一起使用 我在强> CyOn中使用了C++项目,它使用 Cuffe。我正在使用各种第三方库,并希望集成Tensorflow

将预编译的tensorflow与cmake一起使用 我在强> CyOn中使用了C++项目,它使用 Cuffe。我正在使用各种第三方库,并希望集成Tensorflow,c++,linker,tensorflow,clion,C++,Linker,Tensorflow,Clion,我已经尝试将bazel编译Tensorflow到一个共享库libtensorflow。因此,哪种方法有效,但仍有相当多的依赖项(例如,到当前protobuf版本,一旦我这样做,还有更多的依赖项)需要修复 有没有一种方法可以使用标准的Tensorflowgit存储库并以某种方式链接为python使用而预编译的库?还是有其他方便的方法 Python中的Tensorflow对我来说效果很好。我知道这个答案已经很晚了,但我遇到了您的确切问题,并且能够解决它。我创建了一个存储库,它描述了如何准确地完成您想

我已经尝试将bazel编译Tensorflow到一个共享库
libtensorflow。因此,
哪种方法有效,但仍有相当多的依赖项(例如,到当前protobuf版本,一旦我这样做,还有更多的依赖项)需要修复

有没有一种方法可以使用标准的Tensorflowgit存储库并以某种方式链接为python使用而预编译的库?还是有其他方便的方法


Python中的Tensorflow对我来说效果很好。

我知道这个答案已经很晚了,但我遇到了您的确切问题,并且能够解决它。我创建了一个存储库,它描述了如何准确地完成您想要的内容。要点是:

    将生成规则添加到包含所有必需的C++元素的TysFooSoeStury.中。
  • 使用Bazel构建共享库,并将所有标题复制到
    /usr/local
  • 安装Protobuf和Eigen的特定版本(这是通过脚本自动完成的)或将其作为外部依赖项添加
  • 使用给定文件配置CMake项目

如果您有任何疑问或问题,请随时与我联系。

如果您在MacOS上,使用自制、CMake和
pkg_config
很容易

首先使用brew获取Tensorflow:

brew install libtensorflow
然后在
CMakeLists.txt
中:

cmake_minimum_required(VERSION 3.10)
project(tf-inference)

find_package(PkgConfig)
pkg_check_modules(TensorFlow REQUIRED tensorflow)

link_directories(${TensorFlow_LIBRARY_DIRS})
include_directories(${TensorFlow_INCLUDE_DIRS})
add_compile_definitions(${TensorFlow_CFLAGS_OTHER})

add_executable(tf-inference inference.cpp)
target_link_libraries(tf-inference ${TensorFlow_LIBRARIES})

为什么我们需要将文件放在/usr/local中?我可以把我的文件放在别的地方,让Cmake直接找到它们吗?谢谢你对cmake的帮助