help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Seeking help in Octave C++ API


From: Siddhartha Roy
Subject: Re: Seeking help in Octave C++ API
Date: Tue, 6 Apr 2021 11:32:57 +0530

Hi Sir,
Sorry for my mistake. As I am new in this platform so I am unable to adopt the etiquette so quickly but I will learn this definitely.
As I followed your instructions and wrote a demo code in C++. I am attaching the code below for your reference :

#include <octave/oct.h>
#include <octave/octave.h>
#include <octave/parse.h>
#include <octave/interpreter.h>
#include <octave/toplev.h>
#include <octave/builtin-defun-decls.h>
#include <iostream>

int main() {
    string_vector argv (2);
    argv(0) = "embedded";
    argv(1) = "-q"; // quiet
    octave_main (2, argv.c_str_vec (), true);
    octave_value_list ov;
    ov(0) = "load";
    ov(1) = "image";
    interp.feval("pkg",ov,0);
    octave_value_list in;
    for (octave_idx_type i = 0; i < 2; i++)
        in(i) = octave_value (5 * (i + 2));
    octave_value_list out;
    out = interp.feval("imregionalmax",ov,0);    // as I want to use imregionalmax
    return 0;
}
I run this code in ubuntu 18.04 terminal by command : "mkoctfile --link-stand-alone file_nape.cpp -o file_name" but I got this error :

image.png
Please help me in this to execute.

with regards,
Siddhartha Roy
Associate Software Engineer
Vehere Interactive Pvt. Ltd.


On Mon, Apr 5, 2021 at 7:35 PM Carlo De Falco <carlo.defalco@polimi.it> wrote:


> Il giorno 5 apr 2021, alle ore 12:11, Siddhartha Roy <roysiddhartha123@gmail.com> ha scritto:
>
> I have installed image package but I don't know how to load the package while using C++. I mean I know how to load it in octave (by running "pkg load image") but I don't know how to load it while using C++.

You are going over the same point again and again!
Once you embed the interpreter, you can run any octave language code from your C++ program using the "feval" method ...

so, if at the Octave prompt you would write

  pkg ("load", "image")

in C++ you would do something like

  octave_value_list ov;
  ov(0) = "load";
  ov(1) = "image";
  interp.feval ("pkg", ov, 0);

Please stop writing to the maintainers list, as I said the help list is better suited for this topic.
It would also be nice if you would try to adapt to the etiquette of the Octave lists and stop top posting.

c.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]