Как использовать движок Matlab в моем коде (для вызова `engOpenSingleUse ()`)?

Я пытаюсь отправить простые строковые команды в движок Matlab.

Это мой код (в моем коде больше нет кода, связанного с API Matlab, кроме#include "engine.h" линия):

void MatlabPlotter::DrawInMatlab() const
{
    std::string PlotCommand = "x=[0 1 2 3 4 5];y=[0 1 4 9 16 25];plot(x, y);";
    void * vpDcom = NULL;
    int iReturnValue;
    engOpenSingleUse(PlotCommand.c_str(), vpDcom, &iReturnValue);
}

Код компилируется и выполняется успешно без каких-либо ошибок компилятора или сообщений об ошибках во время выполнения. Откроется «Окно команд Matlab»; Я получаю экран, как показано ниже:

Как видите, командное окно пусто. На экране нет графического окна.
Когда я вручную ввожу команду в это окно, я получаю график без ошибок, как показано ниже:

Это официальная страница документации дляengOpenSingleUse() функция:
http://www.mathworks.com/help/techdoc/apiref/engopensingleuse.html

я добавил<MatlabInstallationDir>\extern\lib\win64\microsoft\libeng.lib библиотека в моем проекте (я собираю в конфигурации отладки x64).
я включен<MatlabInstallationDir>\extern\include\engine.h заголовочный файл
Я набрал!matlab /regserver команда в главном окне Matlab (как описано на странице документацииengOpenSingleUse() функция), чтобы убедиться, что движок Matlab зарегистрирован в моей ОС.

Почему ничего не происходит, когда я звонюengOpenSingleUse() функционировать?
Почему не появляется всплывающее окно при отправке строковой команды вPlotCommand объект для построения сюжета?
Что я делаю неправильно?

ОС: Windows 7 Ultimate x64 SP1, последняя версия
IDE: Visual Studio 2010, (версия 10.0.40219.1 SP1Rel)
Matlab: 7,8,0 (R2009a)

Ответы на вопрос(1)

Ваш ответ на вопрос