sgcWebSockets 条件编译

· 安装

sgcWebSockets 库的源码目录中有一个包含所有条件编译开关的配置文件 sgcVer.inc。

打开该文件可以看到大量条件定义——基本上每个 Delphi / C++ Builder 版本都有一组对应的条件定义。例如,Rad Studio 10.3 对应以下内容:


{$IFDEF VER330} { Delphi  10.3 }
  {$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 INDY10_1}
  {$DEFINE INDY10_2}
  {$DEFINE INDY10_5_5}
  {$DEFINE INDY10_5_7}
  {$DEFINE INDY10_6}
  {$DEFINE INDY10_6_2_5366}
  {$IFNDEF BCB}
    {$IFNDEF MACOS}
    {$IFNDEF ANDROID}
      {.$DEFINE IWIX}
      {.$DEFINE IWXI}
      {.$DEFINE IWXIV}  
    {$ENDIF}
    {$ENDIF}
    {$IFNDEF NEXTGEN}
      {$DEFINE SGC_JSON_INTF}
    {$ENDIF}
  {$ENDIF}
{$ENDIF} 

编译器块

第一批指令与 IDE 版本相关,每个 IDE 版本都有自己的编译器,通常不建议修改这些指令。

其次是与 Indy 版本相关的编译器开关。默认情况下,sgcVer.inc 配置为与 Rad Studio 附带的 Indy 版本兼容,但有时需要将 Indy 库更新到最新版本,此处可自定义 Indy 版本并注释或取消注释相应的编译器指令。

最后是 Intraweb 的编译器指令。事实上,Intraweb 在较新版本中已被弃用,默认情况下不需要,但若要使用 Intraweb 组件,可在此配置所用的 Intraweb 版本。