Генерация кода C из кода MATLAB с использованием внешнего кода C ++ - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь сгенерировать C код из кода MATLAB с использованием некоторого внешнего кода C ++. Чтобы отладить мою проблему, я сделал простой пример. Я создал foo. cpp как:

#include "foo.h"
using namespace std;

double foo(double in1, double in2)
{
    return in1 + in2;
}

с заголовочным файлом с именем foo.h:

double foo(double in1, double in2);

Затем я написал код MATALB:

  function r = callfoo(x,y)
      r=1.1;
      if coder.target('MATLAB')
         % Executing in MATLAB, call MATLAB equivalent of
         % C function foo
          r = x + y;
      else
         % Executing in generated code, call C function foo
         coder.updateBuildInfo('addSourceFiles','foo.cpp');
         coder.cinclude('foo.h');
         r = coder.ceval('foo', x, y);
     end
  end

Но он не смог сгенерировать код C, так как мне не удалось получить это сообщение от кодера:

Ошибка сборки: C Компилятор выдал ошибки. См. Журнал сборки для получения дополнительной информации.

Когда я указал на более подробную информацию, он указал мне на: https://www.mathworks.com/help///coder/ug/compiler-and-linker-errors.html

Этот пример я взял из Mathworks на самом деле (https://www.mathworks.com/help/simulink/slref/coder.ceval.html). Однако их внешний код - C, мой - C ++.

Как мне вызвать внешний код C ++ из сгенерированного C кода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...