Ich versuche, zu wissen, ob das Projekt eine Bibliothek ist oder nicht, nachdem die Hilfe las ich diesen Code geschrieben, das nicht funktioniert:Wie kann ich zur Kompilierzeit feststellen, ob das Projekt ein Programm oder eine Bibliothek ist?
{$IF DEFINED(LIBPREFIX)}
{$DEFINE PROJECT_IS_EXECUTABLE}
{$UNDEF PROJECT_IS_LIBRARY}
{$ELSE}
{$DEFINE PROJECT_IS_EXECUTABLE}
{$UNDEF PROJECT_IS_LIBRARY}
{$IFEND}
Ich versuchte DEFINIERT, ERKLÄRT und
{$IF (LIBPREFIX = '')}
Jeder Versuch gibt immer das gleiche für DLLs und für Programme zurück. Wie kann ich dies nur mit integrierten Compiler-Direktiven tun?
EDIT
Meine Absicht ist es, die zusätzliche Informationen von "PE-Datei" zu entfernen.
Ich mache es direkt in .dpr Projektdatei, also egal wie die anderen Einheiten kompiliert wurden, aber ich kann das selbe nicht in DLL-Projekten machen.
Daher suchte ich einen Weg, um es in DLL-Projekten zu blockieren.
Dies ist, wie ich dieses Problem gelöst, füge ich diese Richtlinien zu meinen .dpr Programme:
{$DEFINE STRIPE_PE_INFO}
{$DEFINE STRIPE_RTTI}
{$I DDC_STRIP.inc}
Und DDC_STRIP.inc hat alle Logik.
Es stimmt, das macht Sinn. –