Simulink auf RaspberryPI, wie in S-Funktion librarys linken?

Gast #3744678
Lesenswert?

In der aktuellen MatLab Version gibt es die Möglichkeit über ein Toolkit 
Simulink Modelle auf externen Hardware wie dem RaspberryPI auszuführen.
Des weitern kann man innerhalb dieser Programme S-Functions erstellen, 
in welchen man C-Code wie zum Beispiel für den Zugriff auf die Hardware 
integrieren kann, was soweit auch gut funktioniert.
Ich wollte nun jedoch aus dem Simulink-Programm über eine S-Function auf 
eine MySQL Datenbank zugreifen und hatte hierzu ein einfaches 
Testprogramm probiert:
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <mysql/mysql.h>
4

5
int main(int argc, char **argv)
6
{
7
  printf("MySQL client version: %s\n", mysql_get_client_info());
8

9
  exit(0);
10
}
Dieses lässt sich auf dem RaspberryPI nach der Installation der 
Entsprechenden Client Library problemlos compilieren:
1
sudo apt-get update
2
sudo apt-get install libmysqlclient-dev
3
gcc -o mysql_test mysql_test.c -lmysqlclient
Wenn ich diesen Code jedoch in die S-Function kopiere und die Ausführung 
auf dem PI starte bekomme ich bei der darauf gestarteten Compilierung 
die folgende Fehlermeldung:
1
undefined reference to `mysql_get_client_info'
Ich hatte nun versucht an an verschiedenen Stellen der Konfiguration der 
S-Funclion und der C/C++ Codegenerierung "-lmysqlclient" einzufügen, 
worauf ich sinngemäß die Fehlermeldung bekam, dass er in den 
verschiedenen Pfanden auf dem lokalen Windows PC die Library nicht 
finden konnte. Jedoch wird die Kompilierung wie ich dies verstanden habe 
auf dem PI durchgeführt, wobei "-lmysqlclient" auch im Makefile nicht 
vorkommt. Dies manuell dort neben der standartmäßigen Linkungen 
einzutragen ist auch nicht möglich, da es bei jeder Neukompilierung 
ebenfalls neu geschieben wird.

Hat jemand eine Idee, wie man externe Librarys korrekt in die S-Function 
einbindet?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren