MATLAB C Coder exports times function which conflicts with MacOSX12 SDK's times function

1 visualizzazione (ultimi 30 giorni)
When we export our MATLAB files to C, they export times.h which contains a function with the same name, called times. Therefore, when I attempt to compile the exported C code in my iPhone app using clang, the function conflicts with the macOS SDK version of times (see the log below). How can I avoid this conflict?
Thank you,
William
Showing All Messages
CompileC /Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/Objects-normal/x86_64/getCroppedTaggedMeasures.o /Users/wgrand/Code/DriveEventClassifier/Normalization/buildDataSet_pkg/getCroppedTaggedMeasures.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler (in target 'DriveEventClassifier' from project 'DriveEventClassifier')
cd /Users/wgrand/Code/DriveEventClassifier
export LANG\=en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -target x86_64-apple-macos12.3 -fmessage-length\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -std\=gnu11 -fmodules -gmodules -fmodules-cache-path\=/Users/wgrand/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -fmodules-prune-interval\=86400 -fmodules-prune-after\=345600 -fbuild-session-file\=/Users/wgrand/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\=non-modular-include-in-framework-module -fmodule-name\=DriveEventClassifier -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Werror\=deprecated-objc-isa-usage -Werror\=objc-root-class -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -DDEBUG\=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -index-store-path /Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Index/DataStore -iquote /Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/DriveEventClassifier-generated-files.hmap -I/Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/DriveEventClassifier-own-target-headers.hmap -I/Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/DriveEventClassifier-all-non-framework-target-headers.hmap -ivfsoverlay /Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/all-product-headers.yaml -iquote /Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/DriveEventClassifier-project-headers.hmap -I/Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Products/Debug/include -I/Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/DerivedSources-normal/x86_64 -I/Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/DerivedSources/x86_64 -I/Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/DerivedSources -F/Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Products/Debug -MMD -MT dependencies -MF /Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/Objects-normal/x86_64/getCroppedTaggedMeasures.d --serialize-diagnostics /Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/Objects-normal/x86_64/getCroppedTaggedMeasures.dia -c /Users/wgrand/Code/DriveEventClassifier/Normalization/buildDataSet_pkg/getCroppedTaggedMeasures.c -o /Users/wgrand/Library/Developer/Xcode/DerivedData/DriveEventClassifier-dwrnpjnmsfzkcedtalacvhatvvty/Build/Intermediates.noindex/DriveEventClassifier.build/Debug/DriveEventClassifier.build/Objects-normal/x86_64/getCroppedTaggedMeasures.o -index-unit-output-path /DriveEventClassifier.build/Debug/DriveEventClassifier.build/Objects-normal/x86_64/getCroppedTaggedMeasures.o
In file included from /Users/wgrand/Code/DriveEventClassifier/Normalization/buildDataSet_pkg/getCroppedTaggedMeasures.c:14:
/Users/wgrand/Code/DriveEventClassifier/Normalization/buildDataSet_pkg/eml_i64dmul.h:21:11: error: conflicting types for 'times'
long long times(long long x);
^
In module 'Darwin' imported from /Users/wgrand/Code/DriveEventClassifier/Normalization/buildDataSet_pkg/tmwtypes.h:32:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/sys/times.h:90:9: note: previous declaration is here
clock_t times(struct tms *);
^
In file included from /Users/wgrand/Code/DriveEventClassifier/Normalization/buildDataSet_pkg/getCroppedTaggedMeasures.c:15:
/Users/wgrand/Code/DriveEventClassifier/Normalization/buildDataSet_pkg/rt_nonfinite.h:46:29: warning: this function declaration is not a prototype [-Wstrict-prototypes]
extern void rt_InitInfAndNaN();
^
void
1 warning and 1 error generated.

Risposta accettata

Sumit Ghosh
Sumit Ghosh il 22 Giu 2022
Modificato: Sumit Ghosh il 22 Giu 2022
The configuration parameter ReservedNameArray in coder.EmbeddedCodeConfig object can be used to specify names that the code generator must not use for functions or variables, specified as a string arrays, cell array of character vectors, or character vector.
Also, if there are issues with a file named times.c/h, the configuration parameter CustomFileNameStr in coder.EmbeddedCodeConfig can be used to mangle generated file names.

Più risposte (0)

Categorie

Scopri di più su MATLAB Coder in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by