首页 > 解决方案 > 在 Matlab Coder 中使用相对路径

问题描述

我正在尝试为 Matlab 函数生成 C 代码。它使用猫鼬网络服务器进行通信。如果我将.h/.c文件放在与文件相同的文件夹中,.m我可以使用以下方法编译所有内容:

coder.cinclude('mongoose.h');
coder.updateBuildInfo('addSourceFiles','mongoose.c');
coder.cinclude('rest.h');
coder.updateBuildInfo('addSourceFiles','rest.c');

我想将我的.c文件和.m文件分开,因此将 C 文件移动到名为的文件夹native/会导致编译按预期失败。因此,我告诉 Matlab 在哪里可以找到它们:

customDir = '/full/path/to/native';
coder.updateBuildInfo('addIncludePaths', customDir);
coder.updateBuildInfo('addSourcePaths', customDir);

哪个有效。但是,它仅适用于绝对路径,不适用于相对路径。这是一个问题,因为该项目的每个贡献者都将源文件夹保存在不同的位置。使用 Matlab 工作目录的相对路径告诉 Matlab 本机文件位置的正确方法是什么?

标签: matlabmatlab-coder

解决方案


您还可以使用$(START_DIR)宏,它为您提供项目工作文件夹的路径。

只需指定源文件相对于该路径的位置即可


推荐阅读