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

17 vues (au cours des 30 derniers jours)
chen junbing
chen junbing le 15 Mai 2024
Réponse apportée : Pratik le 17 Juil 2024
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!

Réponses (2)

chen junbing
chen junbing le 15 Mai 2024
This is a screenshot of the error message:

Pratik
Pratik le 17 Juil 2024
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