Can't run C Caller Block example

39 vues (au cours des 30 derniers jours)
Lukas
Lukas le 20 Août 2025 à 17:59
Commenté : Isha le 4 Sep 2025 à 10:42
I am trying to call C-Code from within Simulink, but had no success on my own.
I then tried to run the example to "reverse-engineer" what the required steps are and what I'm missing.
But the example throws the same error and doesn't successfully run either.
I am referring to this example:
I opened it using
openExample('simulink_features/CallCFunctionsUsingCCallerBlockExample')
and tried to run it like regular. I get the following error message:
>> CallCFunctionsUsingCCallerBlockExample
Error using Simulink.importExternalCTypes
Failed to parse custom code. If your custom code uses C++ language syntax, ensure that "Language" is set to "C++". Parser error messages: fatal:
-1, Command-line error: language modes specified are incompatible
The entire stack trace is this:
Error in CallCFunctionsUsingCCallerBlockExample (line 19)
Simulink.importExternalCTypes('my_func.h', 'EnumClass', 'dynamic');
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Show complete stack trace
Displaying stack trace:
Error using Simulink.importExternalCTypes
In Simulink.importExternalCTypes
In CallCFunctionsUsingCCallerBlockExample (line 19)
The example is otherwise unmodified. I am running on Linux. Any advice on how to proceed is greatly appreciated.
  3 commentaires
Lukas
Lukas le 22 Août 2025 à 12:41
Hi Anay,
I am certain that the example is unmodified. I suspect the issue might be in weird interactions between system libraries and matlab-shipped libraries, my system is Arch Linux and there have been issues in the past of library version mismatches.
An example of this that also applied to me was this thread:
But I don't know how to identify the library that is causing issues. If that were possible, maybe the problem could be fixed by preloading/symlinking.
Isha
Isha le 4 Sep 2025 à 10:42
Hello,The example seems running fine on my machine.
Library version mismatches between system libraries and MATLAB-shipped libraries can cause issues like this. To identify the problematic library, you can use the “LD_DEBUG=libs” environment variable when launching MATLAB from the terminal.
LD_DEBUG=libs matlab
you can refer this documentation for this environment variable use:
Then, reproduce the error and check the terminal output for library loading paths and conflicts.
Hope this helps.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur MATLAB Compiler dans Help Center et File Exchange

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by