![如何在Ubuntu中为整个系统提供可用的路径](https://linux22.com/image/207234/%E5%A6%82%E4%BD%95%E5%9C%A8Ubuntu%E4%B8%AD%E4%B8%BA%E6%95%B4%E4%B8%AA%E7%B3%BB%E7%BB%9F%E6%8F%90%E4%BE%9B%E5%8F%AF%E7%94%A8%E7%9A%84%E8%B7%AF%E5%BE%84.png)
我的tflite目录如下:
/home/me/tensorflow_src/tensorflow/lite/
但是,我无法将其导入到我的 C++ 项目中:
#include "tensorflow/lite/interpreter.h" // getting a not found error
我该如何添加解决此错误?我的假设是我需要将 tflite 添加到我的 bash 中以使其可用于我的所有项目。如何将 tflite 添加到 bash 文件中?
这是我的 CMAKE 文件:
cmake_minimum_required(VERSION 3.22)
project(mediafile_device_crossverification)
set(CMAKE_CXX_STANDARD 17)
set(OpenCV FOUND 1)
find_package(OpenCV REQUIRED)
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable(mediafile_device_crossverification main.cpp src/VideoProcessing.cpp src/VideoProcessing.h)
答案1
必须告诉 C++ 编译器在哪里可以找到您包含的头文件。根据您使用的编译器,这可以通过-I
命令行上的选项来完成:
c++ -I ~/tensorflow_src ...other options etc...
如果您有某种可以为您调用编译器的集成开发环境 (IDE),它可能允许您配置从何处读取头文件。
某些软件可能使用 Makefile,该 Makefile 可能会使用一组相当常见的环境变量来调用编译器。这些变量之一称为CXXFLAGS
,它包含 C++ 容器使用的标志(它也可以使用CPPFLAGS
通常用于 C 和 C++ 编译器的预处理器的标志)。您可以在调用时使用它来定义头文件的位置make
:
CPPFLAGS="-I/home/me/tesorflow_src" make
最好的选择是参考您正在尝试构建的软件的文档(如果这不是您的私人项目),或者可能参考tensorflow项目的开发文档,它应该告诉您如何充分利用它的。