Error ordinal not found for exe obtained from the compiler

I have a problem with an exe created with the compiler.
When I run the exe file created with the compiler I get the error: "Impossibile trovare l'ordinale 4739 nella libreria di collegamento dinamico D:\HD\Programmi\MATLAB\R2019a\bin\win64\libmwflcertificates.dll". The error says that the ordinal 4739 is not found in the library libmwflcertificates.dll.
Until I used the R2018a version I found no problems, while the error occurred creating the executable with the new R2019a version.
If the executable is launched on another PC with only the runtime v9.6 installed, the error does not occur. On my pc I have already tried to uninstall Matlab and install only the runtime and also to install both the runtime and Matlab.
Searching I found only in the manual of the Compiler the part that speaks of the error "The ordinal #### could not be located in the dynamic-link library dforrt.dll", but it doesn't seem to concern my problem.
Does anyone have any idea how to solve?
My pc has windows 10.
Thank you.

댓글 수: 4

I can give you a bit more details about what's happening but unfortunately, I can't help with resolving it.
DLLs are files that contain many functions that can be use by other programs. Your executable wants to execute a function in libmwflcertificates.dll. There are two ways for a program to locate where a function is in the dll. They can either specify the function name, or they can specify the index of the function (this is the ordinal). Here your exe tries to execute the function with index 4739. Unfortunately, the version of libmwflcertificates.dll that's on your machine doesn't have a function at that index. Hence the error.
You would typically see that error on a machine that use an older version of the dll, before the function was added. However, I don't believe that's your problem here because ordinal 4739 seems far to big. On my computer (matlab R2019a),the ordinals in libmwfglcertificates only go up to 225.
So your ordinal doesn't make sense, but I've no idea how it could have got there.
I have attached the libmwflcertificates.dll file from MATLAB\R2019a\bin\win64 folder.
It is possible that the problem is related to the Visual C ++ Redistributable? I installed the versions: 2017 (the latest), 2013, 2010. But I don't have the 2015. Could it be that?
No, nothing to do with the redistributable. Also nothing to do with the dll itself. That ordinal is too high, so it looks like something went wrong during the compilation.
I tried the example in the compiler manual:
"There is MATLAB code for an example, hello.m, included in the
<matlab>\extern\examples\compiler directory. To verify that the MATLAB
Compiler can generate stand-alone applications on your system, type the
following at the MATLAB prompt.
mcc -m hello.m"
The creation of the hello.exe executable occurred without problems.
However, when I run hello.exe it always returns the same error.
Running it on another PC, with only the runtime installed, works as expected.

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

 채택된 답변

Alberto Urban
Alberto Urban 2019년 5월 31일

1 개 추천

Thanks to the assistance the problem has been solved: the problem was the libeay32.dll and ssleay32.dll files present in: C:\Windows\system32. I replaced those files with those in the Matlab installation folder and the problem was solved.

댓글 수: 3

THANK YOU SOOOOOOOOOOOOOOOO MUCH!!!!!!!
Your problem is exactly the same with me. But it confused me a very very long time. Thank you again!
You're welcome! It's a satisfaction to help others whenever possible ;-)

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기

제품

릴리스

R2019a

질문:

2019년 5월 17일

댓글:

2019년 8월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by