clib Build error: 'The command line is too long.'
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 7 Okt. 2021
Bearbeitet: MathWorks Support Team
am 7 Okt. 2021
When I use the following commands to build my C++ Interface in MATLAB
clibgen.generateLibraryDefinition( hppFiles, ..."SupportingSourceFiles", sources, ..."IncludePath", includePath);defineDllWrapper;build(defineDllWrapper)
I get the following error.
"Building interface file 'DllWrapperInterface.dll'.Error using clibgen.internal.buildHelper (line 62)Build failed with error:'The command line is too long."
Why am I getting this error and how can I fix it?
Akzeptierte Antwort
MathWorks Support Team
am 7 Okt. 2021
Bearbeitet: MathWorks Support Team
am 7 Okt. 2021
The Windows OS has a command-line limit of 32,767 characters. When building large projects, this limit may exceeded, especially during the linking step. Currently, this limitation applies to the clib build processes. However there are some workarounds that may help to avoid this issue:
1) Specify a short "OutputFolder" name. The example below shows how to specify the "OutputFolder" as "C:\".
clibgen.generateLibraryDefinition( hppFiles, "SupportingSourceFiles", sources, …"IncludePath", includePath, …"OutputFolder","C:\")
You can find the documentation for the "OutputFolder" name/value pair at the link below.
https://www.mathworks.com/help/releases/R2021a/matlab/ref/clibgen.generatelibrarydefinition.html#mw_f7ebe4fe-eb45-41b6-813d-7f59ff61adae
2) Use the Windows subst command to shorten path names. For example,
> subst b: c:\<very-long-path-name>
3) Break the code into smaller DLLs. For example, create a DLL outside MATLAB for portions of the code that do not require a MATLAB interface. These DLLs can be linked during the build. The example below illustrates a case where the static library foo.lib was created from a subset of the code and is linked to when building the MATLAB clib Interface.
clibgen.generateLibraryDefinition( hppFilesReduced,"Libraries", "foo.lib", ...
"SupportingSourceFiles", sourcesReduced, …"IncludePath", includePath, …"OutputFolder","C:\")
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Standalone Applications finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!