![]() |
Library Problem in Android-App
Hi,
ich bin dabei eine Android-App zu entwickeln und möchte eine Bibliothek verwenden. Ich kann sie allerdings nicht wie eine .dll unter Windows ins Projektverzeichnis kopieren und gut. Sondern ich bekomme immer wieder folgenden Fehler: [DCC Fehler] E2597 C:\Users\Public\Documents\Embarcadero\Studio\14.0\ PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lnodave Außerdem für jede Funktion der Library: [DCC Fehler] E2597 C:\Users\Public\Documents\Embarcadero\Studio\14.0\ PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lnodave Kann mir jemand sagen ob ich etwas falsch mache, oder ob ich an den Einstellungen etwas ändern muss? Vielen Dank im voraus JanniK |
AW: Library Problem in Android-App
Ach ja..
Ich verwende Windows XP Home und Delphi XE6 Danke |
AW: Library Problem in Android-App
Um was für eine Bibliothek handelt es sich aout oder so?
|
AW: Library Problem in Android-App
Ich möchte libnodave verwenden. Die gibt es als .dll und als .so. Die .dll funktioniert als WIN32 auch ganz gut.
|
AW: Library Problem in Android-App
Hast Du ein Beispielprojekt?
|
AW: Library Problem in Android-App
Eine so wird aber dynamisch geladen, wie eine Dll. Und deshalb nicht in die Exe verlinkt.
|
AW: Library Problem in Android-App
Heißt denn cannot find -lnodave das mit der libnodave.dll /.so etwas nicht stimmt oder das irgendwas mit nodave.pas nicht funktioniert?
|
AW: Library Problem in Android-App
Zitat:
|
AW: Library Problem in Android-App
Genauso einbinden wie eine Dll unter Windows. Funktionen als extern deklarieren.
procedure MachEtwas(...) external '<Name der so>'; Diese muss dann mit auf das Androiddevice deployed werden. Zitat:
|
AW: Library Problem in Android-App
Liste der Anhänge anzeigen (Anzahl: 1)
Da ist sie:
|
AW: Library Problem in Android-App
Erstmal fehlen in Deiner Datei ja die
Delphi-Quellcode:
Zweige.
{ifdef ANDROID}
Dann musst Du die Libary angeben:
Delphi-Quellcode:
Dann die Funktionen analog zu LINUX deklarieren:
{$ifdef ANDROID}
type _daveOSserialType = record rfd : longint; wfd : longint; end; const LibName = '/usr/lib/libnodave.so'; {$endif}
Delphi-Quellcode:
Schließlich musst Du die Library noch im Berietstellungsmanager eintragen, so dass die dort landet wo Libname hin zeigt. Du musst auch aufpassen, dass die .so für arm-eabi compiliert wurde (kein MIPS oder X86).
function daveNewConnection(di:PdaveInterface; MPI:longint; rack:longint; slot:longint):
PdaveConnection; stdcall; external LibName {$ifdef ANDROID} name 'daveNewConnection'{$ENDIF}; |
AW: Library Problem in Android-App
Danke. Die Hinweise haben mich dem ganzen ein ganzes Stück näher gebracht.
Ich habe das alles mal so umgesetzt wie beschrieben, noch funktioniert nichts bzw der Fehler ist nicht behoben. Wie finde ich denn heraus wie das compiliert wurde? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz