我试图在Simulink的自定义代码库部分中包含一些库,例如metis
。你知道Simulink除了什么类型的库吗?他们必须有结尾.a
,.o
,.dll
或lib
吗?
我可以将它们包含在#include <metis.h>
的自定义c代码中吗?
答案 0 :(得分:2)
库格式应与您要编译生成代码的体系结构相匹配。对于GNU / Linux,.a
或.so
,对于Windows,.lib
(通常链接到.lib
文件而不是.dll
),通常是{{1}在Mac上。您还可以链接目标文件(即.dylib
),但通常软件包会构建某种类型的库供您使用。
如果您正在使用任何.o, .obj
标头中定义的任何功能,类型等,那么这些标头需要包含在生成的代码中。
您可以将metis
添加到设置中:
#include "header_name.h"
和
"Configuration Parameters->Simulation Target->Custom Code->Header File"
其中"Configuration Parameters->Code Generation->Custom Code->Header File"
替换为所需的头文件名称。
由于此问题已标记为header_name.h
,您还可以在MATLAB代码中使用MATLAB Coder
在C代码中生成coder.cinclude('header_name.h');
。
您可能还需要在前面提到的#include "header_name.h"
窗格中增加Include directories
设置,以允许编译器找到标题。