Einzelnen Beitrag anzeigen

rabatscher

Registriert seit: 13. Dez 2007
Ort: Bruck an der Mur
69 Beiträge
 
#1

Delphi 11.3 - Packages und {$IF

  Alt 15. Mär 2023, 14:51
Für mein "kleines" Projekt auf https://github.com/mikerabat/mrmath wollte ich mich mal um eine ARM kompatible Version kümmern.
Zu diesem Zweck wollte ich mal zumindest ein "Conditional Compile" einfügen, dass keine assembleroptimierten Versionen
der Funktionen einbindet.

Dazu wollte ich im Package file (mrmath.dpk) folgende Zeilen einfügen:


{$IF not defined(x86) and not defined(x64)}
{$DEFINE MRMATH_NOASM}
{$ifend}

und auch

{$IF CompilerVersion >= 340}
{$LIBSUFFIX AUTO}
{$IFEND}


und dann später im File, an der Stelle an der die Dateien eingefügt werden:
{$IFNDEF MRMATH_NOASM}
ASMMatrixAddSubOperations in '..\..\ASMMatrixAddSubOperations.pas',
ASMMatrixAddSubOperationsx64 in '..\..\ASMMatrixAddSubOperationsx64.pas',
ASMMatrixElementwiseMultOperations in '..\..\ASMMatrixElementwiseMultOperations.pas',
ASMMatrixElementwiseMultOperationsx64 in '..\..\ASMMatrixElementwiseMultOperationsx64.pas',
... (und noch ein dutzend anderer Dateien)
{$ENDIF}


Das Konstrukt wird in der IDE immer als "ausgegraut" dargestellt, beim Compilieren aber werden die
Datein importiert allerdings mit der Warnung, dass diese "implizit" eingefügt werden.

{$IF CompilerVersion >= 340}
{$LIBSUFFIX AUTO}
{$IFEND}
Das Konstrukt funtioniert überhaupt nicht - das IF kann vom Compiler nicht evaluiert werden und wird als Fehler ausgegeben.


Hat da wer ne Idee?
  Mit Zitat antworten Zitat