如何在Ubuntu中为整个系统提供可用的路径

如何在Ubuntu中为整个系统提供可用的路径

我的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项目的开发文档,它应该告诉您如何充分利用它的。

相关内容