From: Oliver Woodford on
Hi all

I am trying to create a mex file that has some some libraries statically linked in. I place the library paths and names in the command sent to mex, using the -L and -l options respectively. This causes some linker errors to disappear. However, the output mex file still requires a dll (which I think contains the same functions as the libraries) to be present (in the current directory, or presumably in some other location on some path). Without this I get an error saying "The specified module could not be found." when I call the mex file.

Is there something special I need to do to make these libraries link statically, or is it that they are they just pointing to functions in the dll?

Thanks,
Oliver
From: Oliver Woodford on
"Oliver Woodford" wrote:
> Hi all
>
> I am trying to create a mex file that has some some libraries statically linked in. I place the library paths and names in the command sent to mex, using the -L and -l options respectively. This causes some linker errors to disappear. However, the output mex file still requires a dll (which I think contains the same functions as the libraries) to be present (in the current directory, or presumably in some other location on some path). Without this I get an error saying "The specified module could not be found." when I call the mex file.
>
> Is there something special I need to do to make these libraries link statically, or is it that they are they just pointing to functions in the dll?
>
> Thanks,
> Oliver

Rather than specifying the libraries with the -L and -l options, I've just tried simply placing the full path to the correct library in the list of source files to be compiled, but the effect is exactly the same. I get the error when the .dll isn't present.