Announcements

Between mid-October and November, the content on AREA will be relocated to the Autodesk Community M&E Hub and the Autodesk Community Gallery. Learn more HERE.

Can't load my Plug-In: "The specified procedure could not be found."

Can't load my Plug-In: "The specified procedure could not be found."

Anonymous
Not applicable
13,716 Views
5 Replies
Message 1 of 6

Can't load my Plug-In: "The specified procedure could not be found."

Anonymous
Not applicable
Hello everyone.

I'm currently developing a C++ Plug-In for Maya 2013 64bit.
Since some completely random(*) point during development I cannot load my plugin anymore.


loadPlugin "myPlugin.mll";
// Error: line 1: Unable to dynamically load : C:/path/to/myPlugin.mll
The specified procedure could not be found.
//
// Error: line 1: The specified procedure could not be found.
//
// Error: line 1: The specified procedure could not be found.


I've had similar problems before, and usually was a missing .DLL file or a .DLL file with a different version.
So I looked at it with DependencyWalker, but I see nothing new (**).
I try to mix around some .DLL files (***) but with no luck.

Isn't there any way I can find out which procedure Maya can't find?


* (I have done no particular changes, and trying to revert my changes doesn't make it go away.)

** (I admit: DependencyWalker always has something to complain, like "not finding a InternetExplorer related .DLL that Kernel32.DLL requires". But that never kept me from running the plug-in.)

*** (When I had similar errors earlier, it was that Maya could not find MSCRT80.DLL or similar things).
0 Likes
13,717 Views
5 Replies
Replies (5)
Message 2 of 6

Anonymous
Not applicable
Hi,

I had a similar problem once, and if I remember correctly that was not related to the mll itself, but to the system PATH variable that had been changed for some reason. Maya would find my mll, but since this mll linked to another dll that was no longer in the PATH, the plug-in could not be loaded.

Hope this could help

: I found the error Maya sent me in my case, which is slightly different from yours:

// Error: Unable to dynamically load : .mll
The specified module could not be found.
//
// Error: The specified module could not be found.

Maybe Maya can't find a MEL script going with your plugin. If any, is your MAYA_SCRIPT_PATH environment variable set?
0 Likes
Message 3 of 6

Anonymous
Not applicable
Thank you for the reply.

I checked the PATHs, but there is nothing missing.
The plug-in does not use any scripts.

As far as I understand it, "The specified module could not be found." indicates that a required .DLL file could not be found,
and "The specified procedure could not be found." means that the DLL was there, but it didn't contain the required procedure.
That could happen if the file version differs (*) or if the machine type differs (**).

I have tried monitoring the Maya process with Process Monitor. I can see it load the various .DLL libraries, but it does not show any failed attempts to load procedures.

I'm sure I could figure out what is wrong if I just knew the name of the procedure that Maya can't find. I'm a bit upset about the lack of information in this error message.



(*) I've had that issue, trying to include the boost C++ library in my project, because both boost and Maya use Intels "Thread Building Blocks" libraries, but in different versions. My current plug-in does not use boost anymore.

(**) I think when trying to load a 32bit .DLL in 64bit mode, then windows will just tell you that the required procedure was not found in the file. But I'm not sure if this is correct.
0 Likes
Message 4 of 6

Anonymous
Not applicable
Ahh, got it.
Seeing Maya load only its own DLLs in Process Monitor, I figured it must be the Maya .DLL files themselves.

Apparently switching between versions of the project (I started with Maya2011) I accidentally overwrote the Linker settings, and it would link the plug-in for Maya2011.
Of course that conflicted when Maya2013 tried to find the called procedures in its own .DLLs.

Still I would really like to know if there was any way to make Maya more verbose about its library loading progress.
If it would print out names of files and procedures, it could help save a lot of time trying to figure out what is wrong.

This cryptic error message has cost me a lot of time - and more than once...
0 Likes
Message 5 of 6

Anonymous
Not applicable
hey !
dependencywalker is a nice tool that shows missing DLLs for your binary files. Highly recommended 🙂
0 Likes
Message 6 of 6

Anonymous
Not applicable
Thanks for the reply. As mentioned above: I used dependency walker to figure it out.
It's really a nice tool, but since it has a different way of searching for .DLLs, it doesn't always lead you to the real source of the problem.
0 Likes