Executing a rountin in mexw32 binary compiled with Visual Studio 2010

2 次查看(过去 30 天)
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

采纳的回答

Seongjoo Lee
Seongjoo Lee 2011-3-5
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!

更多回答(1 个)

Walter Roberson
Walter Roberson 2011-3-4
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 个评论
Jan
Jan 2011-3-4
Please post more details. What do you mean with "routine inside of the file"?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 MATLAB Compiler 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by