Compiling standalone from pure source code using deploytool
2 ビュー (過去 30 日間)
古いコメントを表示
I have MATLAB Compiler .prj project consisting of various .m, .c, and .cpp files. The .c and .cpp are each individual mex routine source code files. I'm trying to find a way to run a build within the deploytool GUI so that it will first convert all the .c and .cpp files to mex files, as if I had applied the mex() command to each of these files individually, and then build the total project incorporating the mex files along with the .m files.
Currently, I find that the only way to build the project is to replace each of the .c and .cpp files in the project with its mexed version (which I have to obtain by manually running mex on each one) before running the build. If I attempt to run a build naively on pure source code, compile errors result.
Is there any way to automate the build process so that the final standalone .exe can start with pure source code? It is painful to have to mex C/C++ files individually if I have many such files. Painful both to me and to future generations after me who might need to recompile this code.
0 件のコメント
採用された回答
Robert Cumming
2014 年 7 月 22 日
The way I do it is to create a project (in deploytool GUI) which will contain all the files you need (i.e. include the mex files) and save this project.
Then create a build function which has the following type of format:
function buildMyProject
mex command
mex command
etc...
% then call the deploytool from the commanline
deploytool -package youProject.prj
You may use -build instead of -package depending on version and your exe etc....
2 件のコメント
Robert Cumming
2014 年 7 月 23 日
I dont know for sure - but I suspect its to do with the deploytool not assuming the mex command for each .c and .cpp - as your mex compilation could be more complex.
I've always done it the way I described above (i.e. make the mex first).
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で MATLAB Compiler についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!