MATLAB Answers

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

10 views (last 30 days)
shdotcom shdotcom
shdotcom shdotcom on 19 Sep 2019
Edited: shdotcom shdotcom on 20 Sep 2019
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.

Answers (2)

James Tursa
James Tursa on 20 Sep 2019
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

shdotcom shdotcom
shdotcom shdotcom on 20 Sep 2019
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?
shdotcom shdotcom
shdotcom shdotcom on 20 Sep 2019
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.


shdotcom shdotcom
shdotcom shdotcom on 20 Sep 2019
Edited: shdotcom shdotcom on 20 Sep 2019
I have solved the problem by modifying the C code (by removing resource.h)

  0 Comments

Sign in to comment.

Products


Release

R2018b

Translated by