# Libnodave Visual-Studio Xamarin IOS,Android App erstellen



## Spülkastenbauer98 (27 November 2018)

Hallo Schwarmwissen,

ich suche verzweifelt nach einer Möglichkeit per Smartphone d.h. iOS oder Android meine Logo zu steuern.

In Visual Studio geht dies auch schon super mit den Windows-Forms und der Libnodave.dll .
Problem ist, dass sich die Libnodave.dll nicht für Xamarin verwenden lässt, da diese Betriebssysteme (iOS,Android) wie ich herausgefunden habe mit einer .dll nicht viel anfangen können.
Hier müsste ich irgendwie auf eine .so verweisen. Das bekomme ich nicht hin.


Hat einer schon Erfahrung mit dieser Problematik oder ein Beispielprogramm am Start?

Vielen Dank jetzt schon.


----------



## Jochen Kühner (27 November 2018)

Ich hatte das vor Jahren mal gemacht.

Das Makefile dazu gibts hier: https://github.com/dotnetprojects/D...master/externalDlls/libnodave/Makefile.Iphone

kann dir aber nicht wirklich weiterhelfen, ist zu lange her.

Winforms wirst aber nicht nutzen können


----------



## Hans54216 (30 November 2018)

Hier eine sehr interessante Seite bezüglich deinem Thema. Hier wird ein Raspberry Pi zwischen geschalten.



```
http://www.frickelzeugs.de/logocontrol/androidios-steuerung/
```


----------



## Hans54216 (30 November 2018)

Spülkastenbauer98 schrieb:


> Problem ist, dass sich die Libnodave.dll nicht für Xamarin verwenden lässt, da diese Betriebssysteme (iOS,Android) wie ich herausgefunden habe mit einer .dll nicht viel anfangen können.
> Hier müsste ich irgendwie auf eine .so verweisen. Das bekomme ich nicht hin.



Ich hab die LibNoDave auf nen Raspberry Pi und nem IOT2000 laufen. Beide mit Linux und mono als Framework. Damit ist auch WindowsForms möglich.
(The Xamarin Platform is the edition of Mono for Android)

Ob die libnodave nun .dll oder .so heißt, kommt darauf an wie du sie in deinem C# Code einbindest.
Windows verwendet traditionell .dll und Linux .so.
Bindest du die libnodave ohne Dateiendung ein, nimmt das Framework je nach Betriebssystem die .dll oder .so Datei.
Wird die libnodave per "libnodave.dll" angegeben, musst du in Linux sie ebenfalls .dll nennen.

Dein Problem ist eher dass du den C-Kode (NoDave) für dein Gerät kompilieren musst. Dafür liegen verschiedene MakeFile Dateien als Vorlage bereit. Wenn keine Passt musst du googeln.


----------



## Jochen Kühner (1 Dezember 2018)

Bei IOS geht das nicht so, man kann keine DLLs dynamisch laden. Aber man kann die libnodave statisch dazulinken. Das funktioniert, ich habe das vor Jahren schon gemacht! Daher rührt ja auch mein makefile und meine DllImports in meiner Bibliothek


----------

