필터 지우기
필터 지우기

simulink coder build for raspberry pi 4 failing when using convhulln

조회 수: 8 (최근 30일)
Daniel Delannes-molka
Daniel Delannes-molka 2023년 6월 30일
답변: Suman Sahu 2023년 8월 16일
I'm using simulink to create, build and compile a C program for a raspberry pi 4. Part of my project requries the use of convhulln which uses qhull. The problem is that this results in the addtion of CFLAGs that the raspberry pi 4 does not recognize(specifically /D_EXPORTING, /wd4273, /wd4273 and /wd4324).
I can't really find a good explantion as to what those flags do or why they are added. I know that convhulln has a parameter for Qhull options(http://www.qhull.org/html/qh-optq.htm#Qa) but none seem relate to these flags.
Is there any way to remove these tags before building without modfiying the .mk file generated by matlab? Or might anyone have some insight into what those flags do?
C:\Users\Blue\Desktop\test\DEBUGCONVEXHULL_quarc_linux_pi_4>if "all" == "" ("C:\PROGRA~1\MATLAB\R2022b\bin\win64\gmake" -f DEBUGCONVEXHULL.mk all ) else ("C:\PROGRA~1\MATLAB\R2022b\bin\win64\gmake" -f DEBUGCONVEXHULL.mk all )
"C:/GW/msys/1.0/raspbian-pi3/4.9.2/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc" -c -march=armv8-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon-vfpv4 -Wall -fmessage-length=0 -MMD -MP -fpic -feliminate-unused-debug-types -DVXWORKS -DQUARC -D_GNU_SOURCE -DTARGET_TYPE=linux_pi_4 -D_RASPBERRY_PI -D_RASPBERRY_PI_4 -std=c99 -O0 -DNDEBUG /D_EXPORTING /wd4273 /wd4267 /wd4324 -DCLASSIC_INTERFACE=1 -DALLOCATIONFCN=0 -DEXT_MODE=1 -DMAT_FILE=0 -DONESTEPFCN=0 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DON_TARGET_WAIT_FOR_START=1 -DTID01EQ=0 -DASSERTIONS=1 -DDOASSERTS -DMODEL=DEBUGCONVEXHULL -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DRT -DUSE_RTMODEL -IC:/Users/Blue/Desktop/test -IC:/Users/Blue/Desktop/test/DEBUGCONVEXHULL_quarc_linux_pi_4/qhull/src/libqhull -IC:/Users/Blue/Desktop/test/DEBUGCONVEXHULL_quarc_linux_pi_4/qhull/interface -IC:/Users/Blue/Desktop/test/DEBUGCONVEXHULL_quarc_linux_pi_4 -IC:/PROGRA~1/MATLAB/R2022b/extern/include -IC:/PROGRA~1/MATLAB/R2022b/simulink/include -IC:/PROGRA~1/MATLAB/R2022b/rtw/c/src -IC:/PROGRA~1/MATLAB/R2022b/rtw/c/src/ext_mode/common -IC:/PROGRA~1/MATLAB/R2022b/toolbox/coder/rtiostream/src -IC:/PROGRA~1/MATLAB/R2022b/toolbox/coder/rtiostream/src/utils -IC:/PROGRA~1/Quanser/QUARC/include -o"global.o" "C:/Users/Blue/Desktop/test/DEBUGCONVEXHULL_quarc_linux_pi_4/qhull/src/libqhull/global.c"
arm-linux-gnueabihf-gcc: error: /D_EXPORTING: No such file or directory
arm-linux-gnueabihf-gcc: error: /wd4273: No such file or directory
arm-linux-gnueabihf-gcc: error: /wd4267: No such file or directory
arm-linux-gnueabihf-gcc: error: /wd4324: No such file or directory
gmake: *** [global.o] Error 1

답변 (1개)

Suman Sahu
Suman Sahu 2023년 8월 16일
Hi Daniel,
These flags: /D_EXPORTING, /wd4273, /wd4273 and /wd4324 are specific to Microsofts MSVC compiler. So, it appears that you are using MSVC compiler to generate the code. Since the compiler on your Raspberry Pi is ‘gcc’ compiler, you should use the MinGW-gcc or g++ compiler when generating code. You can change this by selecting Configuration Parameters > Code Generation > Build process > Toolchain and selecting one of the MinGW64 build systems.
You can also change the compiler used for code generation by using the following command:
mex -setup
The /D_EXPORTING flag is used for defining macros during compilation. While /wd4273, /wd4273 and /wd4324 are flags are used to suppress known compiler warnings. You can read about these compiler warnings here:
Hope it was helpful

카테고리

Help CenterFile Exchange에서 MATLAB Support Package for Raspberry Pi Hardware에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by