(x64)XOP Error: The specified module could not be found.

Hi,

I have been using a few XOPs on a computer (computer A). Lately I am migrating to a new computer (computer B) with new Window 10 and Igor 8.0.2.1 installation, and I planned on using the x64 version. The XOP was compiled for x64 and were working on computer A.

However, by moving the XOP to computer B and storing it in \Documents\WaveMetrics\Igor Pro 8 User Files\Igor Extensions (64-bit),
it throws an error once I open Igor Pro 8 x64. It pops up as a small window with the name of the concerning XOP, and a message: "The specified module could not be found."
Interestingly, the x86 version of the same XOP works on the Igor 8 x86.

Any idea what I could be missing? Thank you.

This error corresponds to the Windows ERROR_MOD_NOT_FOUND error code. It means that the dynamic linking of your library failed because a required DLL is not available.

Try installing the Visual C Runtime Library for the version of Visual C++ you used to compile the XOP.

If that does not solve the problem, the you probably need to install a DLL that your XOP depends on directly or indirectly. If necessary, you can use Dependency Walker to determine which DLL is missing, though it can be tricky to understand.

Here are some other ideas for debugging.

 

 

In reply to by hrodstein

hrodstein wrote:

This error corresponds to the Windows ERROR_MOD_NOT_FOUND error code. It means that the dynamic linking of your library failed because a required DLL is not available.

Try installing the Visual C Runtime Library for the version of Visual C++ you used to compile the XOP.

If that does not solve the problem, the you probably need to install a DLL that your XOP depends on directly or indirectly. If necessary, you can use Dependency Walker to determine which DLL is missing, though it can be tricky to understand.

Here are some other ideas for debugging.

 

 

Thanks a lot for the idea, in fact the XOP that doesn't work is a hardware specific XOP, and I think I have some ideas as to why it fails to work on the new computer, it maybe related to some extra libraries that doesn't install alongside the driver but from another setup that was meant for running its C library. Strangely it doesn't affect the x86 case.

My another x64 XOP (just OpenCL code) works perfectly, so the above was likely the reason.