Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.855 Beiträge
 
Delphi 12 Athens
 
#1

Android Linker Problem

  Alt 12. Feb 2024, 15:53
Hallo,

gegeben sei Delphi 12.0 Patch 1 oder 11.3, reagiert beides komisch.
Gegeben sei ein Android Projekt, bestehend aus einer in Delphi geschriebenen .SO
(Shared Object, das Android äquivalent zur Windows DLL) und der Versuch das in einer
Delphi Android App statisch einzubinden (um etwas zu testen).

Im Hauptformular der App welche die SO benutzen soll steht sowas hier zum Import:

Delphi-Quellcode:
{$IFDEF WIN32}
function DoAdd(a, b: Integer): Integer; cdecl; external 'SO_Test.dll';
{$ELSE}
function DoAdd(a, b: Integer): Integer; cdecl; external 'libSO_Test.so';
{$ENDIF}
In dem Ordner, in dem der Android 32 Compiler die Ausgabe ablegt gibt es auch eine
libSO_Test.so, die ist im Deployment Manager auch entsprechend eingebunden und das Ganze
hatte vor Weihnachten auch schon mal funktioniert.

Nur jetzt endet der Versuch das mit F9 auszuführen immer in dieser Fehlermeldung:
[DCC Fehler] E2597 C:\Users\Public\Documents\Embarcadero\Studio\23.0\ CatalogRepository\AndroidNDK\android-ndk-r21\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\aarch64-linux-android\bin\ld.exe: cannot find -lSO_Test

Ich verstehe aber nicht warum der Linker nach SO_Test und nicht libSO_Test schaut.
Aber selbst wenn ich die libSO_Test.so in SO_Test.so umbenenne gibt's eine entsprechende
Fehlermeldung. Ändere ich den Import so: ... external 'liblibSO_Test.so';
würde scheinbar nach einer libSO_Test.so geschaut aber es klappt trotzdem nicht:
..ld.exe: cannot find -llibSO_Test

Hat jemand eine Idee worn das liegen könnte?

Grüße
TurboMagic
  Mit Zitat antworten Zitat