Effacer les filtres
Effacer les filtres

Problem in using engOpenSingleUse()

3 vues (au cours des 30 derniers jours)
Amateuromania
Amateuromania le 9 Oct 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!

Réponses (1)

Friedrich
Friedrich le 9 Oct 2012
Modifié(e) : Friedrich le 9 Oct 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 commentaire
Friedrich
Friedrich le 9 Oct 2012
And I compiled this code with:
mex('-v', '-f', fullfile(matlabroot,...
'bin','win64','mexopts','mssdk71engmatopts.bat'),...
'engsingleusedemo.c');

Connectez-vous pour commenter.

Catégories

En savoir plus sur C Shared Library Integration dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by