我想知道,如果這個項目是一個庫與否,閱讀我寫了這個代碼的幫助,不工作後:如何在編譯時告訴項目是程序還是庫?
{$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擁有所有的邏輯。
這是事實,這是有道理的。 –