我试图使用来自wiringPi库的函数来获取我的RaspberryPi。我想在Simulink S-Function中使用它们。我找到了一些指南,他们说你需要将#include wiringPi.h添加到s-function构建器的Libraries窗格中。我还添加了#ifndef以确保仅在我在目标硬件上运行模型时使用这些功能(rpi):
#ifndef MATLAB_MEX_FILE
#include <wiringPi.h>
#endif
我的问题是:
当我想在外部模式下运行模型或部署它时,我收到一条错误消息。我使用的每个wiringPi函数都会产生一个&#34;未指定的引用&#34;错误。一些指南说,为了解决这个问题,你需要使用&#34; xmakefilesetup&#34;,但它并没有为我做任何事情。我使用r2016a,所以xmakefilesetup可能不再有用了。
其他指南还提到您应该将所有wiringPi文件放在MATLAB目录中。这对我也没有帮助。
似乎编译器找到我想要包含的文件没有问题。但是,当直接在Raspberry上使用wiringPi编译c代码时,你总是需要使用&#34; -lwiringPi&#34; gcc编译器上的标志。我认为s-function构建器不会添加这个&#34; -lwiringPi&#34;标志到编译器设置会导致错误。在某处我读到你需要手动将这个标志添加到Simulink Makefile中。你会怎么做?有没有办法手动添加标志?
如果有人知道如何在r2016a的s-function builder中使用wiringPi函数,我很乐意听取您的意见。