在源代码文件夹中,有一个名为 sgcVer.inc 的文件,其中包含所有 Delphi、CBuilder 和 Lazarus IDE 的编译器定义。
在此处您可以自定义 Intraweb、Indy 等的配置,通常无需进行任何更改,除非您想启用/禁用某些功能。
请谨慎更改编译器定义,如需帮助请联系我们。
每个 Delphi 版本都有一个专区,您可以在其中配置所有编译器定义,以下是 Delphi 10.4 的示例。
{$IFDEF VER340} { Delphi 10.4 }
{$DEFINE D2006}
{$DEFINE D2007}
{$DEFINE D2009}
{$DEFINE D2010}
{$DEFINE DXE}
{$DEFINE DXE2}
{$DEFINE DXE3}
{$DEFINE DXE4}
{$DEFINE DXE5}
{$DEFINE DXE6}
{$DEFINE DXE7}
{$DEFINE DXE8}
{$DEFINE D10}
{$DEFINE D10_1}
{$DEFINE D10_2}
{$DEFINE D10_3}
{$DEFINE D10_4}
{$DEFINE INDY10_1}
{$DEFINE INDY10_2}
{$DEFINE INDY10_5_5}
{$DEFINE INDY10_5_7}
{$DEFINE INDY10_5_8}
{$DEFINE INDY10_5_9}
{$DEFINE INDY10_6}
{$DEFINE INDY10_6_0_5122}
{$DEFINE INDY10_6_0_5169}
{$DEFINE INDY10_6_2_5263}
{$DEFINE INDY10_6_2_5366}
{$DEFINE INDY10_6_2_D10_4}
{$IFNDEF BCB}
{$IFNDEF MACOS}
{$IFNDEF ANDROID}
{.$DEFINE IWIX}
{.$DEFINE IWXI}
{.$DEFINE IWXIV}
{.$DEFINE IWXV}
{$ENDIF}
{$ENDIF}
{$IFNDEF NEXTGEN}
{$DEFINE SGC_JSON_INTF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
Indy 库有一些编译器定义,具体取决于已安装的 Indy 版本,默认配置为 Delphi 附带的 Indy 包。Indy 版本 是 IdVers.inc Indy 文件的 gsIdVersion 参数。
若未安装 IntraWeb,只需注释掉 IntraWeb 的编译器定义(以 IW... 开头的定义)即可。
默认情况下,sgcVer.inc 声明 {$DEFINE SGC_RESOURCES},这会导致运行时包嵌入资源文件 sgcResources.RES。这会为每个静态链接 sgcWebSockets 源码的可执行文件增加额外字节。
该资源包含捆绑的 JavaScript 客户端代码,sgcWebSockets 服务器可通过 HTTP 将其传递给远程浏览器(从而使浏览器能够使用 sgc 子协议)。仅在以下情况下才需要:
以下情况无需:
要排除嵌入资源,请在 sgcVer.inc 中注释掉相应行:
{.$DEFINE SGC_RESOURCES} { RESOURCES }
或者,运行源码版 安装程序 时,取消勾选选项页面上的 包含资源选项;安装程序将在编译包之前重写 sgcVer.inc。