2017-05-10 1 views
1

C++에서 옥타브 함수를 실행하려면 - here을 찾았습니다. 함수 파일이 C++ 코드가 실행되는 디렉토리와 같은 디렉토리에있는 경우에 작동합니다. 내가 사용하려는 각 개별 기능을로드해야한다는,이 의미
octave_function *fun = load_fcn_from_file("/Path/exampleOctaveFunction.m"); : 함수 파일이 다른 경로에 있습니다Octave C++ API : addpath

경우,로드 할 수 있습니다.

옥타브에 addpath과 같은 메서드가 있습니까? C++ API에서 전체 디렉토리를 추가 할 수 있습니까? 아니면 상대 경로를 사용하도록 Octave 실행의 작업 디렉토리를 설정할 수 있습니까?

답변

0

이 문제를 다시 한 번 확인한 후에 해결책이 정말 분명합니다. 그냥 옥타브 addpath 기능을 사용하십시오.

그래서 대신

octave_function *fun = load_fcn_from_file("/Path/exampleOctaveFunction.m") 
feval(octave_function) 

,이를 실행 한 후 해당 경로에 의한 기능을로드하고 지금

octave_value_list arg; 
arg(0) = "Path"; 
feval("addpath", arg); 

에게 기능 (및 Path 다른 모든 기능)을 수행 공통으로 로딩 될 수있다 방식

feval("exampleOctaveFunction") 

addpathgenpath을 사용하여 주어진 경로의 모든 하위 디렉토리를 추가하십시오.