我想知道该项目是否是一个库,在阅读了帮助后,我编写了这个不起作用的代码:
{$IF DEFINED(LIBPREFIX)}
{$DEFINE PROJECT_IS_EXECUTABLE}
{$UNDEF PROJECT_IS_LIBRARY}
{$ELSE}
{$DEFINE PROJECT_IS_EXECUTABLE}
{$UNDEF PROJECT_IS_LIBRARY}
{$IFEND}
我试过定义、声明和
{$IF (LIBPREFIX = '')}
对于 DLL 和程序,每次尝试总是返回相同的结果。如何仅使用内置编译器指令来做到这一点?
编辑
我的目的是从“PE 文件”中删除额外的信息。
我直接在 .dpr 项目文件中执行此操作,因此无论其他单元如何编译,但我无法在 DLL 项目中执行相同操作。
因此,我正在寻找一种在 DLL 项目中阻止它的方法。
这就是我解决这个问题的方法,我将此指令添加到我的 .dpr 程序中:
{$DEFINE STRIPE_PE_INFO}
{$DEFINE STRIPE_RTTI}
{$I DDC_STRIP.inc}
而 DDC_STRIP.inc 拥有所有的逻辑。