Search code examples
visual-c++dllregsvr32dllregistration

Failure to register .dll with regsvr32 - only in Release build


I'm having a weird problem when trying to register the .dll i created using regsvr32.

During development everything went fine, the debug version registers and works fine. Now i wanted to create a Release version, but that Version does not register anymore.

regsvr32 comes up with the following error:

The module "mpegsplitter.dll" failed to load.

Make sure the binary is stored at the specified path or
debug it to check for problems with the binary or
dependent .DLL files.

The specified procedure could not be found.

Some research brought me to the dependency walker, which does tell me this

Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.

It also does show a dependency on "crtdll.dll" that the debug version does not have (The function view shows soem functions that normally should be in ole32.dll), which is colored red'ish.

So far so good, i guess its somehow related to what the dependency walker shows there.

But where do i go from here? How do i fix it? Any help would be greatly appreciated, that has been keeping me busy for several hours already.

Thanks!


Solution

  • I fixed it. It was actually being caused by the order of some mingw libraries i included to link against ffmpeg. Oh well, how weird.