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

Gast #3744678
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

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.