Ubuntu의 전체 시스템에서 경로를 사용할 수 있게 만드는 방법

Ubuntu의 전체 시스템에서 경로를 사용할 수 있게 만드는 방법

내 tflite 디렉토리는 다음과 같습니다.

/home/me/tensorflow_src/tensorflow/lite/

그러나 C++ 프로젝트로 가져올 수는 없습니다.

#include "tensorflow/lite/interpreter.h" // getting a not found error

이 오류를 해결하려면 무엇을 추가해야 합니까? 내 가정은 모든 프로젝트에서 사용할 수 있도록 bash에 tflite를 추가해야 한다는 것입니다. bash 파일에 tflite를 추가하는 방법은 무엇입니까?

이것은 내 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을 사용할 수 있습니다. 이러한 변수 중 하나는 CXXFLAGSC++ 컨테이너에서 사용되는 플래그를 포함하는 입니다(C 및 C++ 컴파일러에서 일반적으로 사용되는 전처리기 플래그를 사용할 수도 있음 CPPFLAGS). 다음을 호출할 때 이를 사용하여 헤더 파일의 위치를 ​​정의할 수 있습니다 make.

CPPFLAGS="-I/home/me/tesorflow_src" make

가장 좋은 방법은 빌드하려는 소프트웨어에 대한 문서(개인 프로젝트가 아닌 경우)를 참조하거나 이를 최대한 활용하는 방법을 알려주는 tensorflow 프로젝트의 개발 문서를 참조하는 것입니다. .

관련 정보