2017-05-10 8 views
1

C++のオクターブ関数を実行するために、この例を実行すると、hereが見つかりました。 これは、関数ファイルがC++コードが実行されているのと同じディレクトリにある場合に機能します。Octave C++ API:addpath

関数ファイルを異なるパスに配置されている場合は、をロードすることができます。
octave_function *fun = load_fcn_from_file("/Path/exampleOctaveFunction.m"); これは私が使用する個々の機能をロードするために持っていることを、意味します。

Octaveにaddpathのようなメソッドがありますか?C++ APIで完全なディレクトリを追加できますか?あるいは、相対パスを使用するようにOctave実行の作業ディレクトリを設定することもできますか?

答えて

0

これをもう一度見て、解決策は本当に明白です。 Octave 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") 

addpathへの呼び出しをgenpathを使用して、指定されたパスのすべてのサブディレクトリを追加します。