Force directory structure on include command in c++

3 次查看(过去 30 天)
I have a model in simulink which builds successfully.
The minor issue I have is that the resulting include statement I get in c++ is
#include "trajectory.h"
when I want it to be
#include "interface/trajector.h"
I have tried creating an additional directory in my include folder and then put in #include "interface/trajectory.h" in the Simulation Target. But the resulting code strips out the additional interface directory from the resulting c++ code.
Are there any setting I can use to resolve this ?

回答(1 个)

Alan
Alan 2025-8-4
Hello Paul,
From what I understand, you are specifying the include path under “Simulation Targets->Custom Code->Source Files”, but the generated header file is generated outside the specified directory.
Simulink's code generator typically strips directory paths from header file names to maximize portability and avoid hardcoded paths in generated code. Therefore, the include paths could be controlled via the build system (-I flags), not via relative paths in code.
The include directory could be added to a Makefile as follows:
-I/path/to/include/interface
Alternatively, you could use a post-code-generation script to search and move the “trajectory.h” file to the required directory.
Regards,
Alan

类别

Help CenterFile Exchange 中查找有关 Simulink Coder 的更多信息

标签

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by