如何包括所有必需的头在代码生成的MATLAB编码器?
6次浏览(过去30天)
显示旧的注释
我正在用Coder从MATLAB生成c++源代码。
我的一些函数需要cs.h:
# include“cs.h”
但是MATLAB不会自动在生成的文件中包含“cs.h”头文件。我可以从${MATLAB_ROOT_DIR}中找到该文件
/工具箱/ eml / externalDependency / CXSparse /包括
,但我不想手动搜索该文件并包含它。我稍后手动编译生成的c++,目前,我必须手动找到“cs.h”文件并将其配置为构建。我不希望每次获得新的依赖项时都这样做。
我想在生成的codegen文件夹中自动地拥有生成的c++代码所需的所有标头和源。这可能吗?
2的评论
嗯Gustavsen
2022年11月9日
我们在MATLAB R2022b update 1和MATLAB Coder 5.5上也有同样的问题。文件正确生成,但是CXSparse和CXSparseHelper中的文件没有复制到输出中。解决办法是手动拷贝这些文件夹中的文件。
答案(1)
瑞安·利文斯顿
2022年11月9日
编辑:瑞安·利文斯顿
2022年11月9日
当我运行
codegen
在MATLAB R2022b中的MATLAB Coder命令中,我看到所有CXSparse文件都出现在下面的codegen文件夹中
CXSparse
:
>>!树codegen / lib / f / CXSparse /
codegen / lib / f / CXSparse /
├──CXSparseSupport
│├──coder_cs.h
│├──makeCXSparseMatrix.c
│├──makeCXSparseMatrix.h
│├──solve_from_lu.c
│├──solve_from_lu.h
│├──solve_from_qr.c
│├──solve_from_qr.h
│├──unpackCXStruct.c
│└──unpackCXStruct.h
├──包括
│└──cs.h
├──许可证
│├──更新日志
│├──lesser.txt
│└──License.txt
├──源
│├──cs_ci_bundle.c
│└──cs_ri_bundle.c
└──SuiteSparse_config
├──Makefile
├──固定
├──SuiteSparse_config.c
├──SuiteSparse_config.h
└──SuiteSparse_config.mk
5个目录,20个文件
- MATLAB函数packNGo:packNGo(' /一些/文件夹/ codegen / lib / foo”)
- codegen的package参数:codegen foo。m -package fooppackage .zip
- 的包按钮在MATLAB编码器应用程序和报告
这些将为您提供一个包含所有可以重新定位的依赖项的ZIP文件。