我有一个实用程序单元,其代码在一些应用程序和 DLL 之间共享。我想根据当前项目类型有选择地编译本单元的部分内容:应用程序、程序包或库。我在 System
单元中找不到库或包的任何条件定义,Google 也没有找到任何相关内容。那么,编译器是否设置了任何条件定义,例如 IsLibrary
或 IsPackage
?顺便说一下,我知道 IsLibrary
变量。
最佳答案
没有这样的预定义条件,也不可能有这样的条件。这是因为在编译时不可能知道该单元最终会链接到可执行文件、库还是包。
事实上,同一个编译单元可以链接到上述任何或所有项目类型中。当您将 RTL 链接到您的项目时,您确实可以自己看到这一点。您将相同的 System
单元、相同的已编译 .dcu 文件链接到您的所有项目中,而不管项目类型如何。
关于delphi - Delphi 中的库项目是否有条件定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14933507/