MATLAB Answers


Problem in using engOpenSingleUse()

Asked by Amateuromania
on 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!



No products are associated with this question.

1 Answer

Answer by Friedrich
on 9 Oct 2012
Edited by Friedrich
on 9 Oct 2012


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;
          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();
  	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 Comment

And I compiled this code with:

mex('-v', '-f', fullfile(matlabroot,...

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!