When the model is compiled, the error message "error of 2" is displayed

18 次查看(过去 30 天)
Hello everyone:
When I compiled this model using MinGW64, a fault occurred, with the following information:
### Starting build procedure for: TestLinUnpack ### Generating code and artifacts to 'Model specific' folder structure ### Generating code into build folder: E:\Test_LINUNPACK\TestLinUnpack_ert_rtw ### Invoking Target Language Compiler on TestLinUnpack.rtw ### Using System Target File: D:\matlab2022b\rtw\c\ert\ert.tlc ### Loading TLC function libraries ### Generating TLC interface API for custom data ### Initial pass through model to cache user defined code . ### Caching model source code ### Writing header file TestLinUnpack_types.h . ### Writing header file TestLinUnpack.h ### Writing header file rtwtypes.h ### Writing source file TestLinUnpack.c ### Writing header file TestLinUnpack_private.h ### Writing source file TestLinUnpack_data.c . ### Writing source file ert_main.c ### TLC code generation complete (took 3.603s). ### Saving binary information cache. ### Using toolchain: MinGW64 | gmake (64-bit Windows)
Warning: The precompiled library 'D:\matlab2022b\toolbox\slrealtime\simulink\blocks\dist\win64\lib\libecatinterface_ert_mingw64.lib' does not exist. Generating makefile rules to build the library.
6 similar
### Creating 'E:\Test_LINUNPACK\TestLinUnpack_ert_rtw\TestLinUnpack.mk' ... ### Building 'TestLinUnpack': "D:\matlab2022b\bin\win64\gmake" -f TestLinUnpack.mk all E:\Test_LINUNPACK\TestLinUnpack_ert_rtw>call "setup_mingw.bat" E:\Test_LINUNPACK\TestLinUnpack_ert_rtw>set "MINGW_ROOT=C:\PROGRA~3\MATLAB\SUPPOR~1\R2022b\3P778C~1.INS\MINGW_~1.INS\bin" E:\Test_LINUNPACK\TestLinUnpack_ert_rtw>cd . E:\Test_LINUNPACK\TestLinUnpack_ert_rtw>if "all" == "" ("D:\matlab2022b\bin\win64\gmake" -f TestLinUnpack.mk all ) else ("D:\matlab2022b\bin\win64\gmake" -f TestLinUnpack.mk all ) "C:\PROGRA~3\MATLAB\SUPPOR~1\R2022b\3P778C~1.INS\MINGW_~1.INS\bin/gcc" -c -fwrapv -m64 -O0 -msse2 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=1 -DONESTEPFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=0 -DMODEL=TestLinUnpack -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 @TestLinUnpack_comp.rsp -o "TestLinUnpack.obj" "E:/Test_LINUNPACK/TestLinUnpack_ert_rtw/TestLinUnpack.c" E:/Test_LINUNPACK/TestLinUnpack_ert_rtw/TestLinUnpack.c: In function 'TestLinUnpack_step':
void *dataPort = TestLinUnpack_ConstP.Constant_Value; ^~~~~~~~~~~~~~~~~~~~
memcpy(data,dataPort,8); ^~~~~~
E:/Test_LINUNPACK/TestLinUnpack_ert_rtw/TestLinUnpack.c:40:5: note: include '<string.h>' or provide a declaration of 'memcpy' "C:\PROGRA~3\MATLAB\SUPPOR~1\R2022b\3P778C~1.INS\MINGW_~1.INS\bin/gcc" -c -fwrapv -m64 -O0 -msse2 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=1 -DONESTEPFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=0 -DMODEL=TestLinUnpack -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 @TestLinUnpack_comp.rsp -o "TestLinUnpack_data.obj" "E:/Test_LINUNPACK/TestLinUnpack_ert_rtw/TestLinUnpack_data.c" gmake: *** No rule to make target `libecatinterface.a', needed by `../TestLinUnpack.exe'. Stop. E:\Test_LINUNPACK\TestLinUnpack_ert_rtw>echo The make command returned an error of 2 The make command returned an error of 2 E:\Test_LINUNPACK\TestLinUnpack_ert_rtw>exit /B 1 ### Build procedure for TestLinUnpack aborted due to an error.
How can I solve this problem?The attached is the model file and ldf file.
Thank you!

回答(2 个)

chen junbing
chen junbing 2024-5-15
This is a screenshot of the error message:

Pratik
Pratik 2024-7-17
Hi Chen,
From what I can understand from the error message, compiler is not able to identify "memcpy" function.
Including "<string.h>" in "TestLinUnpack.c" might solve the issue.
I hope this helps!

Community Treasure Hunt

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

Start Hunting!

Translated by