필터 지우기
필터 지우기

Problem in using engOpenSingleUse()

조회 수: 3 (최근 30일)
Amateuromania
Amateuromania 2012년 10월 9일
I've used the C++ interface of matlab on Windows. I keep getting the error messages after I have made 3 calls to matlab using engOpenSingleUse(). Every call is terminated by closing function.
"Internal Error: A primary message table for module 77 was already registered with a differing collection of error messages.Severe: The program '[4484] d:\...\a.exe: Native' has exited with code 1 (0x1)."
After the code exits, however the matlab command window is opened. P.S: I have tried using engOpen() instead, but the problem persists.
Can anyone tell me what can I do to fix it?
Thanks a lot!

답변 (1개)

Friedrich
Friedrich 2012년 10월 9일
편집: Friedrich 2012년 10월 9일
Hi,
I used the following code to open ML four times but it works fine:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "engine.h"
int main()
{
Engine *ep;
int retstatus,i;
char ch;
for(i=1;i<=4;i++){
ep = engOpenSingleUse(NULL,NULL,&retstatus);
if (retstatus != 0) {
fprintf(stderr, "\nCan't start MATLAB engine\n");
return EXIT_FAILURE;
}
if (engSetVisible(ep,1) != 0){
fprintf(stderr, "\nCan't make MATLAB engine visible\n");
return EXIT_FAILURE;
}
printf("Press any key to exit\n");
ch = getchar();
engClose(ep);
}
return EXIT_SUCCESS;
}
I can also open 4 MATLABs at the same time without any problem (tested in 12b 64bit Win 7).
Can you post a small reproduction code which raises the error you get?
  댓글 수: 1
Friedrich
Friedrich 2012년 10월 9일
And I compiled this code with:
mex('-v', '-f', fullfile(matlabroot,...
'bin','win64','mexopts','mssdk71engmatopts.bat'),...
'engsingleusedemo.c');

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 C Shared Library Integration에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by