How do I get rid of "gmake: *** [main.obj] Error 1" when using MATLAB Coder?

26 次查看(过去 30 天)
I am following the "Generating Standalone C/C++ Executables from MATLAB Code" found here: https://www.mathworks.com/help/coder/ug/standalone-c-c-executables-from-matlab-code.html
I execute the following commands in the Command Window:
cfg = coder.config('exe');
cfg.CustomSource = 'main.c';
cfg.CustomInclude = 'c:\myfiles';
codegen -config cfg coderand
Upon execution I get the following error message:
------------------------------------------------------------------------
"C:\PROGRA~3\MATLAB\SUPPOR~1\R2020a\3P778C~1.INS\MINGW_~1.INS\bin/gcc" -c -fwrapv -m64 -O3 -fno-loop-optimize -fno-aggressive-loop-optimizations -D__USE_MINGW_ANSI_STDIO=1 -DMODEL=coderand -DMODEL=coderand @coderand_rtw_comp.rsp -o "main.obj" "C:/myfiles/main.c"
gmake: *** [main.obj] Error 1
The make command returned an error of 2
Error(s) encountered while building "coderand":
### Failed to generate all binary outputs.
------------------------------------------------------------------------
??? Build error: C compiler produced errors. See the Build Log for further details.
More information
Code generation failed: View Error Report
Error using codegen
Any help on this issue would be greatly appreciated.

回答(1 个)

Nipun Katyal
Nipun Katyal 2020-8-10
After the generation of code you will find the main function in “/codegen/lib/coderand/examples” folder. Create another folder “myfiles” in “/codegen/lib/coderand/” directory and copy the “main.c “ and “main.h” file to those directory. Apply the modifications mentioned in the documentation. Go to the directory containing the “coderand.m” function and execute the following commands.
cfg = coder.config('exe');
cfg.CustomSource = '.\codegen\lib\coderand\myfiles\main.c';
cfg.CustomInclude = '.\codegen\lib\coderand\myfiles';
codegen -config cfg coderand
The executable will be generated in the same directory, which can be executed using the system command.
system('coderand')

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by