Executing a rountin in mexw32 binary compiled with Visual Studio 2010

2 views (last 30 days)
Hello,
I built a mexw32 binary with Visual Studio 2010 by the build instruction in the Help. The build was successful but using the function was not.
The mexw32 file is put in a directory and I tried to call the function in that directory but Matlab cannot see the function.
I wonder if there is some other things that are not fully explained int the help. Help will be greatly appreciated. Thanks.
Seongjoo

Accepted Answer

Seongjoo Lee
Seongjoo Lee on 5 Mar 2011
I figured out what the problem was:
When building a mexw32 with IDE (Visual Studio), Module Definition file (.def) is required. When I wrote the def file, I named the library as 'myfunction'
LIBRARY myfunction
EXPORTS mexFunction
However, the mexw32 file name was not 'myfunction'. After I named the mexw32 file same as the name specified in def file, I can correctly evoke the function in Matlab.
The reason why I wanted to use Visual Studio for building mexw32 is that I can deal with a single interface to build the binary. Of course, mex -O -c code.cpp is not too difficult, but managing projects having dependencies to multiple libraries is quickly becoming a complex task. For that task, Visual Studio is a good tool.
Thanks for participating for the issue!

More Answers (1)

Walter Roberson
Walter Roberson on 4 Mar 2011
How are you trying to invoke the function? Is the directory of the function your current directory, or is it on your path? Did you rehash your path after you created the .mex32 ?
  3 Comments
Jan
Jan on 4 Mar 2011
Please post more details. What do you mean with "routine inside of the file"?

Sign in to comment.

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!