MATLAB Answers

0

[Create mexfunction from C code] The order of several c files

Asked by shdotcom shdotcom on 19 Sep 2019 at 23:52
Latest activity Edited by shdotcom shdotcom on 20 Sep 2019 at 13:46
I have a c source code that consists of several .c files. How can I know the orders of these files when I build the mex function?
for example:
mex mainFun.c X.c Y.c Z.c
This is the source code:
I have got this error "Error using mex D:\TestMexFunction\unix_timer.c:22:26: fatal error: sys/resource.h: No such file or directory #include <sys/resource.h> ^
compilation terminated." when I run:
mex mainFun.c ants.c parse.c TSP.c dos_timer.c InOut.c ls.c unix_timer.c utilities.c
mainFun.c includes the mexFunction()
acotsp.c includes the main() function
Is it because of the order of c files or another reason?

  0 Comments

Sign in to comment.

Products


Release

R2018b

2 Answers

Answer by James Tursa
on 20 Sep 2019 at 0:06

The order you compile your source code files should not matter. The error seems to be that the compiler can't find the resource.h file.

  2 Comments

Yes it is a compiler problem, I have tried to run the C code alone with MinGW compiler and I got same problem with resource.h. MinGW does not have <sys/resource.h>
when I change to cygwin64 it works. However, Matlab does not support cygwin compiler. what I should do in this case?
Yes it is a compiler problem, I have tried to run the C code alone with MinGW compiler and I got same problem with resource.h. MinGW does not have <sys/resource.h>
when I change to cygwin64 it works. However, Matlab does not support cygwin compiler. what I should do in this case?

Sign in to comment.


Answer by shdotcom shdotcom on 20 Sep 2019 at 13:45
Edited by shdotcom shdotcom on 20 Sep 2019 at 13:46

I have solved the problem by modifying the C code (by removing resource.h)

  0 Comments

Sign in to comment.