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