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.cpp

zu 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:


Check out similar posts by category: Matlab/Simulink, C/C++