Calling a C function from MATLAB

Hello,
I have one question: While I successfully create a dll file for my C file via MinGW, whenever I call my file with certain parameters I keep getting an error that is related to that this code in C returns NULL , any ideas please?
#ifdef WINDOWS
hLibrary = LoadLibrary ("fcnsuite.dll");
#else
hLibrary = dlopen ("./fcnsuite.so", RTLD_NOW);
#endif
And this gives "failed to load procedure"!!!

6 Kommentare

Walter Roberson
Walter Roberson am 22 Apr. 2013
Does your C code have a "return" statement? http://msdn.microsoft.com/en-us/library/sta56yeb%28v=vs.80%29.aspx
seldeeno
seldeeno am 22 Apr. 2013
No return since my function is void, and my interface (mexfunction) also calls another void function in another file that is included as a dll
Friedrich
Friedrich am 23 Apr. 2013
"failed to load procedure" is not a standard C error. Seems more like a selfmade error somewhere in your code (I would guess when you call GetProcAdress which fails). Are you sure the LoadLibrary call works? So the DLL can be found? Is hLibrary a valid pointer?
seldeeno
seldeeno am 23 Apr. 2013
What you are saying is exactly what I have and the loadLibrary is the thing that is not getting the dll right and hence says that the procedure in the library is not found:
"procedure g06 not found in library file!Error using mlbsuite failed to load procedure"
Jan
Jan am 23 Apr. 2013
In which folders does LoadLibrary look for this dll-file?
seldeeno
seldeeno am 23 Apr. 2013
It is in the same folder as the C and .m files

Melden Sie sich an, um zu kommentieren.

Antworten (1)

seldeeno
seldeeno am 23 Apr. 2013

0 Stimmen

Ok people I got it to work. Actually I had to create the dll of the function using a command like: mbuild file1.c file1.exports with function names in this file1.exports and that did the trick
Thank you all for your comments!

1 Kommentar

please give more details about how you fixed this problem. at the end, the problem was in matlab or when compiling this:
gcc -c fcnsuite.c -DWINDOWS
dllwrap -o fcnsuite.dll fcnsuite.o
I really want to have access to this files. Thanks in advance

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Startup and Shutdown finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 22 Apr. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by