Wie man den Matlab mex-Fehler behebt: You can't use 'macro parameter character #' in vertical mode.
Problem
Beim Versuch, Ihre Matlab- oder Simulink-S-Funktion mit einem Befehl wie
mex_error_example.sh
mex mysfunction.cppzu kompilieren, erhalten Sie den folgenden Fehler:
pdftex_mex_error.txt
This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024) (preloaded format=mex)
restricted \write18 enabled.
entering extended mode
(./sine_wave_generator.cpp
This is MeX Version 1.05 18 XII 1993 (B. Jackowski & M. Ry\'cko)
! You can't use `macro parameter character #' in vertical mode.
l.1 #
define S_FUNCTION_NAME sine_wave_generator
?Lösung
Das Problem hierbei ist, dass Sie nicht mex von Matlab verwenden, sondern ein anderes TeX-basiertes Programm namens mex. Dies liegt wahrscheinlich daran, dass sich das mex-Binary in Ihrer PATH-Umgebungsvariable vor dem Matlab-Binary-Verzeichnis befindet.
Um dies zu beheben, können Sie entweder:
- Den vollständigen Pfad zum
mex-Binary in Ihrer Matlab-Installation verwenden, z.B./usr/local/MATLAB/R2021b/bin/mex, oder - Die Reihenfolge der Verzeichnisse in Ihrer
PATH-Umgebungsvariable ändern, sodass das Matlab-Binary-Verzeichnis vor dem anderenmex-Binary-Verzeichnis kommt. - Den
mex-Befehl aus der Matlab-Befehlszeile verwenden, der automatisch das richtige Binary verwenden sollte.
Check out similar posts by category:
Matlab/Simulink, C/C++
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow