Filter löschen
Filter löschen

Problem in using engOpenSingleUse()

3 Ansichten (letzte 30 Tage)
Amateuromania
Amateuromania am 9 Okt. 2012
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!

Antworten (1)

Friedrich
Friedrich am 9 Okt. 2012
Bearbeitet: Friedrich am 9 Okt. 2012
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 Kommentar
Friedrich
Friedrich am 9 Okt. 2012
And I compiled this code with:
mex('-v', '-f', fullfile(matlabroot,...
'bin','win64','mexopts','mssdk71engmatopts.bat'),...
'engsingleusedemo.c');

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu C Shared Library Integration finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by