Temporary header file '/tmp/zjnHpRQuqX/dump1.h' with the following content will be compiled to create GCC translation unit dump:

  // add defines
  #define __STDC_VERSION__ 201710L
#define _GXX_NULLPTR_T
#define CLUTTER_ENABLE_COMPOSITOR_API 1
#define _REGEX_NELTS(n)
#define _Atomic
#define PACKED
#define getaddrinfo_a(a,b,c,d)

  // add includes
  #include "/usr/include/unistd.h"
  #include "/usr/include/stdint.h"
  #include "/usr/include/crtmpserver/common/common.h"
  #include "/usr/include/crtmpserver/common/defines.h"
  #include "/usr/include/crtmpserver/common/platform/android/androidplatform.h"
  #include "/usr/include/crtmpserver/common/platform/android/max.h"
  #include "/usr/include/crtmpserver/common/platform/baseplatform.h"
  #include "/usr/include/crtmpserver/common/platform/dfreebsd/dfreebsdplatform.h"
  #include "/usr/include/crtmpserver/common/platform/dfreebsd/max.h"
  #include "/usr/include/crtmpserver/common/platform/endianess/big_endian_byte_aligned.h"
  #include "/usr/include/crtmpserver/common/platform/endianess/big_endian_short_aligned.h"
  #include "/usr/include/crtmpserver/common/platform/endianess/endianness.h"
  #include "/usr/include/crtmpserver/common/platform/endianess/little_endian_byte_aligned.h"
  #include "/usr/include/crtmpserver/common/platform/endianess/little_endian_short_aligned.h"
  #include "/usr/include/crtmpserver/common/platform/freebsd/freebsdplatform.h"
  #include "/usr/include/crtmpserver/common/platform/freebsd/max.h"
  #include "/usr/include/crtmpserver/common/platform/linux/linuxplatform.h"
  #include "/usr/include/crtmpserver/common/platform/linux/max.h"
  #include "/usr/include/crtmpserver/common/platform/openbsd/max.h"
  #include "/usr/include/crtmpserver/common/platform/openbsd/openbsdplatform.h"
  #include "/usr/include/crtmpserver/common/platform/osx/osxplatform.h"
  #include "/usr/include/crtmpserver/common/platform/platform.h"
  #include "/usr/include/crtmpserver/common/platform/solaris/solarisplatform.h"
  #include "/usr/include/crtmpserver/common/platform/windows/max.h"
  #include "/usr/include/crtmpserver/common/platform/windows/win32platform.h"
  #include "/usr/include/crtmpserver/common/utils/buffering/bitarray.h"
  #include "/usr/include/crtmpserver/common/utils/buffering/buffering.h"
  #include "/usr/include/crtmpserver/common/utils/buffering/iobuffer.h"
  #include "/usr/include/crtmpserver/common/utils/logging/baseloglocation.h"
  #include "/usr/include/crtmpserver/common/utils/logging/consoleloglocation.h"
  #include "/usr/include/crtmpserver/common/utils/logging/fileloglocation.h"
  #include "/usr/include/crtmpserver/common/utils/logging/formatter.h"
  #include "/usr/include/crtmpserver/common/utils/logging/logcatloglocation.h"
  #include "/usr/include/crtmpserver/common/utils/logging/logeventfactory.h"
  #include "/usr/include/crtmpserver/common/utils/logging/logger.h"
  #include "/usr/include/crtmpserver/common/utils/logging/logging.h"
  #include "/usr/include/crtmpserver/common/utils/logging/syslogloglocation.h"
  #include "/usr/include/crtmpserver/common/utils/lua/luautils.h"
  #include "/usr/include/crtmpserver/common/utils/mempool/mempool.h"
  #include "/usr/include/crtmpserver/common/utils/misc/crypto.h"
  #include "/usr/include/crtmpserver/common/utils/misc/dhgroups.h"
  #include "/usr/include/crtmpserver/common/utils/misc/file.h"
  #include "/usr/include/crtmpserver/common/utils/misc/linkedlist.h"
  #include "/usr/include/crtmpserver/common/utils/misc/misc.h"
  #include "/usr/include/crtmpserver/common/utils/misc/mmapfile.h"
  #include "/usr/include/crtmpserver/common/utils/misc/timersmanager.h"
  #include "/usr/include/crtmpserver/common/utils/misc/uri.h"
  #include "/usr/include/crtmpserver/common/utils/misc/variant.h"
  #include "/usr/include/crtmpserver/common/utils/misc/variantmap.h"
  #include "/usr/include/crtmpserver/common/utils/utils.h"
  #include "/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/application/baseclientapplication.h"
  #include "/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h"
  #include "/usr/include/crtmpserver/thelib/configuration/configfile.h"
  #include "/usr/include/crtmpserver/thelib/configuration/module.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/flv/flvdocument.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mediafile.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mediaframe.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp3/id3parser.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp3/mp3document.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomavc1.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomavcc.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomco64.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomctts.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomdata.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomdinf.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomdref.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomesds.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomftyp.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomhdlr.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomilst.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommdhd.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommdia.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommeta.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommetafield.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommfhd.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomminf.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommoof.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommoov.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommp4a.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommvex.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atommvhd.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomnull.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomsmhd.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomstbl.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomstco.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomstsc.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomstsd.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomstss.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomstsz.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomstts.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomtfhd.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomtkhd.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomtraf.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomtrak.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomtrex.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomtrun.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomudta.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomurl.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomvmhd.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/atomwave.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/baseatom.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/boxatom.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/ignoredatom.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/mp4document.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/versionedatom.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/mp4/versionedboxatom.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/nsv/mp3media.h"
  #include "/usr/include/crtmpserver/thelib/mediaformats/nsv/nsvdocument.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/inboundnamedpipecarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/iohandler.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/iohandlermanager.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/iohandlermanagertoken.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/iotimer.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/stdiocarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/tcpacceptor.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/tcpcarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/tcpconnector.h"
  #include "/usr/include/crtmpserver/thelib/netio/epoll/udpcarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/inboundnamedpipecarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/iohandler.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/iohandlermanager.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/iohandlermanagertoken.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/iotimer.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/stdiocarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/tcpacceptor.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/tcpcarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/tcpconnector.h"
  #include "/usr/include/crtmpserver/thelib/netio/kqueue/udpcarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/netio.h"
  #include "/usr/include/crtmpserver/thelib/netio/select/inboundnamedpipecarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/select/iohandler.h"
  #include "/usr/include/crtmpserver/thelib/netio/select/iohandlermanager.h"
  #include "/usr/include/crtmpserver/thelib/netio/select/iotimer.h"
  #include "/usr/include/crtmpserver/thelib/netio/select/stdiocarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/select/tcpacceptor.h"
  #include "/usr/include/crtmpserver/thelib/netio/select/tcpcarrier.h"
  #include "/usr/include/crtmpserver/thelib/netio/select/tcpconnector.h"
  #include "/usr/include/crtmpserver/thelib/netio/select/udpcarrier.h"
  #include "/usr/include/crtmpserver/thelib/protocols/baseprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h"
  #include "/usr/include/crtmpserver/thelib/protocols/cli/basecliappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/cli/http4cliprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/cli/inboundbasecliprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/cli/inboundjsoncliprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/defaultprotocolfactory.h"
  #include "/usr/include/crtmpserver/thelib/protocols/dns/inbounddnsresolverprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/dns/outbounddnsresolverprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/http/basehttpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/http/basehttpprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h"
  #include "/usr/include/crtmpserver/thelib/protocols/http/inboundhttpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/http/outboundhttpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/liveflv/baseliveflvappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/liveflv/inboundliveflvprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/liveflv/innetliveflvstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/mms/basemmsappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/mms/innetaacstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/mms/innetmp3stream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/mms/mmsprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/mms/transcoder.h"
  #include "/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h"
  #include "/usr/include/crtmpserver/thelib/protocols/protocolmanager.h"
  #include "/usr/include/crtmpserver/thelib/protocols/protocoltypes.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rawhttpstream/baserawhttpstreamappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rawhttpstream/inboundrawhttpstreamprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/amf0serializer.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/amf3serializer.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/amfserializer.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/amftypes.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/basertmpappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/basertmpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/channel.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/header.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/header_be_ba.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/header_le_ba.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/header_le_sa.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/inboundhttp4rtmp.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/inboundrtmpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/inboundrtmpsdiscriminatorprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/messagefactories/connectionmessagefactory.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/messagefactories/genericmessagefactory.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/messagefactories/messagefactories.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/messagefactories/somessagefactory.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/messagefactories/streammessagefactory.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/monitorrtmpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/outboundrtmpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/rtmpeprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/rtmpprotocolserializer.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/sharedobjects/so.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/sharedobjects/somanager.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/streaming/baseoutnetrtmpstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/streaming/infilertmpstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/streaming/innetrtmpstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/streaming/outfilertmpflvstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/streaming/outnetrtmp4rtmpstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/streaming/outnetrtmp4tsstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtmp/streaming/rtmpstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/basertpappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/basertspappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/connectivity/baseconnectivity.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/connectivity/inboundconnectivity.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/connectivity/outboundconnectivity.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/inboundrtpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/nattraversalprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/rtcpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/rtpheader.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/rtspprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/sdp.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/streaming/baseoutnetrtpudpstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/streaming/innetrtpstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/rtp/streaming/outnetrtpudph264stream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ssl/inboundsslprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ssl/outboundsslprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/tcpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/timer/basetimerprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ts/basetsappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ts/inboundtsprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ts/innettsstream.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ts/pidtypes.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ts/streamdescriptors.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ts/tsboundscheck.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ts/tspacketheader.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ts/tspacketpat.h"
  #include "/usr/include/crtmpserver/thelib/protocols/ts/tspacketpmt.h"
  #include "/usr/include/crtmpserver/thelib/protocols/udpprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/variant/basevariantappprotocolhandler.h"
  #include "/usr/include/crtmpserver/thelib/protocols/variant/basevariantprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/variant/binvariantprotocol.h"
  #include "/usr/include/crtmpserver/thelib/protocols/variant/xmlvariantprotocol.h"
  #include "/usr/include/crtmpserver/thelib/streaming/baseinfilestream.h"
  #include "/usr/include/crtmpserver/thelib/streaming/baseinnetstream.h"
  #include "/usr/include/crtmpserver/thelib/streaming/baseinstream.h"
  #include "/usr/include/crtmpserver/thelib/streaming/baseoutfilestream.h"
  #include "/usr/include/crtmpserver/thelib/streaming/baseoutnetstream.h"
  #include "/usr/include/crtmpserver/thelib/streaming/baseoutstream.h"
  #include "/usr/include/crtmpserver/thelib/streaming/basestream.h"
  #include "/usr/include/crtmpserver/thelib/streaming/codectypes.h"
  #include "/usr/include/crtmpserver/thelib/streaming/innetrawstream.h"
  #include "/usr/include/crtmpserver/thelib/streaming/nalutypes.h"
  #include "/usr/include/crtmpserver/thelib/streaming/outnetrawstream.h"
  #include "/usr/include/crtmpserver/thelib/streaming/packetqueue.h"
  #include "/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h"
  #include "/usr/include/crtmpserver/thelib/streaming/streamsmanager.h"
  #include "/usr/include/crtmpserver/thelib/streaming/streamstypes.h"

  // add classes
  ASN1_ENCODING_st* tmp_add_class_0;
  BIO_sock_info_u* tmp_add_class_1;
  BIT_STRING_BITNAME_st* tmp_add_class_2;
  BaseMediaDocument* tmp_add_class_3;
  BasePlatform* tmp_add_class_4;
  BaseSSLProtocol* tmp_add_class_5;
  BitArray* tmp_add_class_6;
  ENGINE_CMD_DEFN_st* tmp_add_class_7;
  ERR_string_data_st* tmp_add_class_8;
  Formatter* tmp_add_class_9;
  HTTP4CLIProtocol* tmp_add_class_10;
  HTTPAuthHelper* tmp_add_class_11;
  InNetRawStream* tmp_add_class_12;
  InboundSSLProtocol* tmp_add_class_13;
  LogEventFactory* tmp_add_class_14;
  Module* tmp_add_class_15;
  Netscape_certificate_sequence* tmp_add_class_16;
  Netscape_spkac_st* tmp_add_class_17;
  Netscape_spki_st* tmp_add_class_18;
  OutboundSSLProtocol* tmp_add_class_19;
  PBE2PARAM_st* tmp_add_class_20;
  PBEPARAM_st* tmp_add_class_21;
  PBKDF2PARAM_st* tmp_add_class_22;
  PKCS7_CTX_st* tmp_add_class_23;
  Packet* tmp_add_class_24;
  PacketQueue* tmp_add_class_25;
  SCRYPT_PARAMS_st* tmp_add_class_26;
  SHA256state_st* tmp_add_class_27;
  SHA512state_st* tmp_add_class_28;
  SHAstate_st* tmp_add_class_29;
  TCPProtocol* tmp_add_class_30;
  UDPProtocol* tmp_add_class_31;
  VariantMap* tmp_add_class_32;
  X509_algor_st* tmp_add_class_33;
  X509_info_st* tmp_add_class_34;
  X509_val_st* tmp_add_class_35;
  _AUDIO_AAC* tmp_add_class_36;
  _G_fpos64_t* tmp_add_class_37;
  _G_fpos_t* tmp_add_class_38;
  _IO_cookie_io_functions_t* tmp_add_class_39;
  _MediaFrame* tmp_add_class_40;
  _Slot* tmp_add_class_41;
  _TimerEvent* tmp_add_class_42;
  _VIDEO_AVC* tmp_add_class_43;
  aes_key_st* tmp_add_class_44;
  asn1_string_st* tmp_add_class_45;
  asn1_string_table_st* tmp_add_class_46;
  asn1_type_st* tmp_add_class_47;
  buf_mem_st* tmp_add_class_48;
  conf_method_st* tmp_add_class_49;
  conf_st* tmp_add_class_50;
  crypto_ex_data_st* tmp_add_class_51;
  crypto_threadid_st* tmp_add_class_52;
  err_state_st* tmp_add_class_53;
  evp_cipher_info_st* tmp_add_class_54;
  lhash_st_CONF_VALUE* tmp_add_class_55;
  lhash_st_ERR_STRING_DATA* tmp_add_class_56;
  lhash_st_OPENSSL_CSTRING* tmp_add_class_57;
  lhash_st_OPENSSL_STRING* tmp_add_class_58;
  obj_name_st* tmp_add_class_59;
  ossl_algorithm_st* tmp_add_class_60;
  ossl_dispatch_st* tmp_add_class_61;
  ossl_item_st* tmp_add_class_62;
  ossl_param_st* tmp_add_class_63;
  pkcs7_digest_st* tmp_add_class_64;
  pkcs7_enc_content_st* tmp_add_class_65;
  pkcs7_encrypted_st* tmp_add_class_66;
  pkcs7_enveloped_st* tmp_add_class_67;
  pkcs7_issuer_and_serial_st* tmp_add_class_68;
  pkcs7_recip_info_st* tmp_add_class_69;
  pkcs7_signed_st* tmp_add_class_70;
  pkcs7_signedandenveloped_st* tmp_add_class_71;
  pkcs7_signer_info_st* tmp_add_class_72;
  pkcs7_st* tmp_add_class_73;
  private_key_st* tmp_add_class_74;
  rand_meth_st* tmp_add_class_75;
  rc4_key_st* tmp_add_class_76;
  rsa_oaep_params_st* tmp_add_class_77;
  rsa_pss_params_st* tmp_add_class_78;
  srtp_protection_profile_st* tmp_add_class_79;
  st_dynamic_MEM_fns* tmp_add_class_80;
  st_dynamic_fns* tmp_add_class_81;
  tls_session_ticket_ext_st* tmp_add_class_82;
  x509_trust_st* tmp_add_class_83;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/zjnHpRQuqX/dump1.h"  -I/usr/include/crtmpserver/common -I/usr/include/lua5.1 -I/usr/include/crtmpserver/thelib

In file included from /tmp/zjnHpRQuqX/dump1.h:22:
/usr/include/crtmpserver/common/platform/endianess/big_endian_short_aligned.h:46:2: error: #error put_htons in big_endian_short_aligned.h needs testing
   46 | #error put_htons in big_endian_short_aligned.h needs testing
      |  ^~~~~
In file included from /usr/include/crtmpserver/common/utils/buffering/iobuffer.h:25,
                 from /usr/include/crtmpserver/common/utils/buffering/buffering.h:23,
                 from /usr/include/crtmpserver/common/utils/utils.h:23,
                 from /usr/include/crtmpserver/common/common.h:25,
                 from /tmp/zjnHpRQuqX/dump1.h:14:
/usr/include/crtmpserver/common/utils/misc/file.h:32:14: error: variable ‘DLLEXP File’ has initializer but incomplete type
   32 | class DLLEXP File {
      |              ^~~~
/usr/include/crtmpserver/common/utils/misc/file.h:33:1: error: expected primary-expression before ‘private’
   33 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/file.h:33:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/common/utils/misc/file.h:32:19: note: to match this ‘{’
   32 | class DLLEXP File {
      |                   ^
/usr/include/crtmpserver/common/utils/misc/file.h:33:1: error: expected ‘,’ or ‘;’ before ‘private’
   33 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/file.h:36:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   36 |         string _path;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/misc/file.h:39:1: error: expected unqualified-id before ‘public’
   39 | public:
      | ^~~~~~
/usr/include/crtmpserver/common/utils/misc/file.h:41:22: error: expected class-name before ‘(’ token
   41 |         virtual ~File();
      |                      ^
/usr/include/crtmpserver/common/utils/misc/file.h:44:25: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   44 |         bool Initialize(string path);
      |                         ^~~~~~
      |                         stdin
/usr/include/crtmpserver/common/utils/misc/file.h:45:14: error: redefinition of ‘bool Initialize’
   45 |         bool Initialize(string path, FILE_OPEN_MODE mode);
      |              ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/file.h:44:14: note: ‘bool Initialize’ previously defined here
   44 |         bool Initialize(string path);
      |              ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/file.h:45:25: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   45 |         bool Initialize(string path, FILE_OPEN_MODE mode);
      |                         ^~~~~~
      |                         stdin
/usr/include/crtmpserver/common/utils/misc/file.h:45:53: error: expected primary-expression before ‘mode’
   45 |         bool Initialize(string path, FILE_OPEN_MODE mode);
      |                                                     ^~~~
/usr/include/crtmpserver/common/utils/misc/file.h:52:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   52 |         string GetPath();
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/misc/file.h:78:22: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   78 |         bool ReadAll(string &str);
      |                      ^~~~~~
      |                      stdin
/usr/include/crtmpserver/common/utils/misc/file.h:78:30: error: ‘str’ was not declared in this scope; did you mean ‘std’?
   78 |         bool ReadAll(string &str);
      |                              ^~~
      |                              std
/usr/include/crtmpserver/common/utils/misc/file.h:108:26: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  108 |         bool WriteString(string &value);
      |                          ^~~~~~
      |                          stdin
/usr/include/crtmpserver/common/utils/misc/file.h:108:34: error: ‘value’ was not declared in this scope
  108 |         bool WriteString(string &value);
      |                                  ^~~~~
/usr/include/crtmpserver/common/utils/misc/file.h:111:1: error: expected declaration before ‘}’ token
  111 | };
      | ^
In file included from /usr/include/crtmpserver/common/utils/buffering/iobuffer.h:27:
/usr/include/crtmpserver/common/utils/misc/crypto.h:41:14: error: variable ‘DLLEXP DHWrapper’ has initializer but incomplete type
   41 | class DLLEXP DHWrapper {
      |              ^~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:42:1: error: expected primary-expression before ‘private’
   42 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:42:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/common/utils/misc/crypto.h:41:24: note: to match this ‘{’
   41 | class DLLEXP DHWrapper {
      |                        ^
/usr/include/crtmpserver/common/utils/misc/crypto.h:42:1: error: expected ‘,’ or ‘;’ before ‘private’
   42 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:48:1: error: expected unqualified-id before ‘public’
   48 | public:
      | ^~~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:50:27: error: expected class-name before ‘(’ token
   50 |         virtual ~DHWrapper();
      |                           ^
/usr/include/crtmpserver/common/utils/misc/crypto.h:55:25: error: ‘bool Initialize()’ redeclared as different kind of entity
   55 |         bool Initialize();
      |                         ^
/usr/include/crtmpserver/common/utils/misc/file.h:44:14: note: previous declaration ‘bool Initialize’
   44 |         bool Initialize(string path);
      |              ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:84:1: error: expected unqualified-id before ‘private’
   84 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:87:1: error: expected declaration before ‘}’ token
   87 | };
      | ^
/usr/include/crtmpserver/common/utils/misc/crypto.h:89:1: error: two or more data types in declaration of ‘InitRC4Encryption’
   89 | DLLEXP void InitRC4Encryption(uint8_t *secretKey, uint8_t *pubKeyIn, uint8_t *pubKeyOut,
      | ^~~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:91:15: error: expected initializer before ‘md5’
   91 | DLLEXP string md5(string source, bool textResult);
      |               ^~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:92:15: error: expected initializer before ‘md5’
   92 | DLLEXP string md5(uint8_t *pBuffer, uint32_t length, bool textResult);
      |               ^~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:93:1: error: two or more data types in declaration of ‘HMACsha256’
   93 | DLLEXP void HMACsha256(const void *pData, uint32_t dataLength, const void *pKey,
      | ^~~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:95:15: error: expected initializer before ‘b64’
   95 | DLLEXP string b64(string source);
      |               ^~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:96:15: error: expected initializer before ‘b64’
   96 | DLLEXP string b64(uint8_t *pBuffer, uint32_t length);
      |               ^~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:97:15: error: expected initializer before ‘unb64’
   97 | DLLEXP string unb64(string source);
      |               ^~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:98:15: error: expected initializer before ‘unb64’
   98 | DLLEXP string unb64(uint8_t *pBuffer, uint32_t length);
      |               ^~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:99:15: error: expected initializer before ‘unhex’
   99 | DLLEXP string unhex(string source);
      |               ^~~~~
/usr/include/crtmpserver/common/utils/misc/crypto.h:100:1: error: two or more data types in declaration of ‘CleanupSSL’
  100 | DLLEXP void CleanupSSL();
      | ^~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:36:14: error: variable ‘DLLEXP IOBuffer’ has initializer but incomplete type
   36 | class DLLEXP IOBuffer {
      |              ^~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:37:1: error: expected primary-expression before ‘public’
   37 | public:
      | ^~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:37:1: error: expected ‘}’ before ‘public’
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:36:23: note: to match this ‘{’
   36 | class DLLEXP IOBuffer {
      |                       ^
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:37:1: error: expected ‘,’ or ‘;’ before ‘public’
   37 | public:
      | ^~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:39:18: error: conflicting declaration ‘uint32_t _size’
   39 |         uint32_t _size;
      |                  ^~~~~
/usr/include/crtmpserver/common/utils/misc/file.h:35:18: note: previous declaration as ‘uint64_t _size’
   35 |         uint64_t _size;
      |                  ^~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:44:1: error: expected unqualified-id before ‘public’
   44 | public:
      | ^~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:47:26: error: expected class-name before ‘(’ token
   47 |         virtual ~IOBuffer();
      |                          ^
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:53:42: error: ‘void Initialize(uint32_t)’ redeclared as different kind of entity
   53 |         void Initialize(uint32_t expected);
      |                                          ^
/usr/include/crtmpserver/common/utils/misc/file.h:44:14: note: previous declaration ‘bool Initialize’
   44 |         bool Initialize(string path);
      |              ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:78:61: error: ‘sockaddr_in’ has not been declared
   78 |         bool ReadFromUDPFd(int32_t fd, int32_t &recvAmount, sockaddr_in &peerAddress);
      |                                                             ^~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:93:25: error: ‘fstream’ was not declared in this scope
   93 |         bool ReadFromFs(fstream &fs, uint32_t size);
      |                         ^~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:93:34: error: ‘fs’ was not declared in this scope; did you mean ‘ffs’?
   93 |         bool ReadFromFs(fstream &fs, uint32_t size);
      |                                  ^~
      |                                  ffs
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:93:47: error: expected primary-expression before ‘size’
   93 |         bool ReadFromFs(fstream &fs, uint32_t size);
      |                                               ^~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:100:14: error: redefinition of ‘bool ReadFromFs’
  100 |         bool ReadFromFs(File &file, uint32_t size);
      |              ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:93:14: note: ‘bool ReadFromFs’ previously defined here
   93 |         bool ReadFromFs(fstream &fs, uint32_t size);
      |              ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:100:31: error: ‘file’ was not declared in this scope; did you mean ‘File’?
  100 |         bool ReadFromFs(File &file, uint32_t size);
      |                               ^~~~
      |                               File
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:100:46: error: expected primary-expression before ‘size’
  100 |         bool ReadFromFs(File &file, uint32_t size);
      |                                              ^~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:117:14: error: variable or field ‘ReadFromInputBuffer’ declared void
  117 |         void ReadFromInputBuffer(IOBuffer *pInputBuffer, uint32_t start, uint32_t size);
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:117:44: error: ‘pInputBuffer’ was not declared in this scope
  117 |         void ReadFromInputBuffer(IOBuffer *pInputBuffer, uint32_t start, uint32_t size);
      |                                            ^~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:117:67: error: expected primary-expression before ‘start’
  117 |         void ReadFromInputBuffer(IOBuffer *pInputBuffer, uint32_t start, uint32_t size);
      |                                                                   ^~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:117:83: error: expected primary-expression before ‘size’
  117 |         void ReadFromInputBuffer(IOBuffer *pInputBuffer, uint32_t start, uint32_t size);
      |                                                                                   ^~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:124:40: error: ‘IOBuffer’ does not name a type
  124 |         bool ReadFromInputBuffer(const IOBuffer &buffer, uint32_t size);
      |                                        ^~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:130:29: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  130 |         bool ReadFromString(string binary);
      |                             ^~~~~~
      |                             stdin
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:216:16: error: ‘string’ does not name a type; did you mean ‘stdin’?
  216 |         static string DumpBuffer(uint8_t *pBuffer, uint32_t length);
      |                ^~~~~~
      |                stdin
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:217:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
  217 |         string ToString(uint32_t startIndex = 0, uint32_t limit = 0);
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:218:18: error: expected type-specifier before ‘string’
  218 |         operator string();
      |                  ^~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:220:1: error: expected unqualified-id before ‘protected’
  220 | protected:
      | ^~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:223:1: error: expected declaration before ‘}’ token
  223 | };
      | ^
In file included from /usr/include/crtmpserver/common/utils/buffering/buffering.h:24:
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:27:19: error: expected class-name before ‘{’ token
   27 | : public IOBuffer {
      |                   ^
/usr/include/crtmpserver/common/utils/buffering/bitarray.h: In constructor ‘BitArray::BitArray()’:
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:32:22: error: class ‘BitArray’ does not have any field named ‘IOBuffer’
   32 |         BitArray() : IOBuffer() {
      |                      ^~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h: In member function ‘bool BitArray::PutBits(T, uint8_t)’:
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:30:46: error: ‘class BitArray’ has no member named ‘_pBuffer’
   30 | #define GETIBPOINTER(x)     ((uint8_t *)((x)._pBuffer + (x)._consumed))
      |                                              ^~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:46:36: note: in expansion of macro ‘GETIBPOINTER’
   46 |                 uint8_t *pBuffer = GETIBPOINTER(*this);
      |                                    ^~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:30:61: error: ‘class BitArray’ has no member named ‘_consumed’
   30 | #define GETIBPOINTER(x)     ((uint8_t *)((x)._pBuffer + (x)._consumed))
      |                                                             ^~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:46:36: note: in expansion of macro ‘GETIBPOINTER’
   46 |                 uint8_t *pBuffer = GETIBPOINTER(*this);
      |                                    ^~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h: In member function ‘T BitArray::PeekBits(uint8_t)’:
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:44: error: ‘class BitArray’ has no member named ‘_published’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                            ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:75:21: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
   75 |                 if (GETAVAILABLEBYTESCOUNT(*this) == 0) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:61: error: ‘class BitArray’ has no member named ‘_consumed’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                                             ^~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:75:21: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
   75 |                 if (GETAVAILABLEBYTESCOUNT(*this) == 0) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:44: error: ‘class BitArray’ has no member named ‘_published’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                            ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:79:21: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
   79 |                 if (GETAVAILABLEBYTESCOUNT(*this) < (_cursor + count) / 8) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:61: error: ‘class BitArray’ has no member named ‘_consumed’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                                             ^~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:79:21: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
   79 |                 if (GETAVAILABLEBYTESCOUNT(*this) < (_cursor + count) / 8) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:30:46: error: ‘class BitArray’ has no member named ‘_pBuffer’
   30 | #define GETIBPOINTER(x)     ((uint8_t *)((x)._pBuffer + (x)._consumed))
      |                                              ^~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:91:47: note: in expansion of macro ‘GETIBPOINTER’
   91 |                         uint8_t currentByte = GETIBPOINTER(*this)[currentByteIndex];
      |                                               ^~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:30:61: error: ‘class BitArray’ has no member named ‘_consumed’
   30 | #define GETIBPOINTER(x)     ((uint8_t *)((x)._pBuffer + (x)._consumed))
      |                                                             ^~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:91:47: note: in expansion of macro ‘GETIBPOINTER’
   91 |                         uint8_t currentByte = GETIBPOINTER(*this)[currentByteIndex];
      |                                               ^~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h: In member function ‘void BitArray::IgnoreBits(uint32_t)’:
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:44: error: ‘class BitArray’ has no member named ‘_published’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                            ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:101:21: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
  101 |                 if (GETAVAILABLEBYTESCOUNT(*this) == 0) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:61: error: ‘class BitArray’ has no member named ‘_consumed’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                                             ^~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:101:21: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
  101 |                 if (GETAVAILABLEBYTESCOUNT(*this) == 0) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:102:25: error: ‘assert’ was not declared in this scope
  102 |                         assert(false);
      |                         ^~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:1:1: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’?
  +++ |+#include <cassert>
    1 | /*
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:44: error: ‘class BitArray’ has no member named ‘_published’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                            ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:105:21: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
  105 |                 if (GETAVAILABLEBYTESCOUNT(*this) < (_cursor + count) / 8) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:61: error: ‘class BitArray’ has no member named ‘_consumed’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                                             ^~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:105:21: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
  105 |                 if (GETAVAILABLEBYTESCOUNT(*this) < (_cursor + count) / 8) {
      |                     ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:106:25: error: ‘assert’ was not declared in this scope
  106 |                         assert(false);
      |                         ^~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:106:25: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’?
/usr/include/crtmpserver/common/utils/buffering/bitarray.h: In member function ‘uint32_t BitArray::AvailableBits()’:
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:44: error: ‘class BitArray’ has no member named ‘_published’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                            ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:113:24: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
  113 |                 return GETAVAILABLEBYTESCOUNT(*this)*8 - _cursor;
      |                        ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/iobuffer.h:29:61: error: ‘class BitArray’ has no member named ‘_consumed’
   29 | #define GETAVAILABLEBYTESCOUNT(x)     ((x)._published - (x)._consumed)
      |                                                             ^~~~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:113:24: note: in expansion of macro ‘GETAVAILABLEBYTESCOUNT’
  113 |                 return GETAVAILABLEBYTESCOUNT(*this)*8 - _cursor;
      |                        ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/crtmpserver/common/utils/logging/baseloglocation.h:25,
                 from /usr/include/crtmpserver/common/utils/logging/logging.h:25,
                 from /usr/include/crtmpserver/common/utils/utils.h:24:
/usr/include/crtmpserver/common/utils/misc/variant.h: At global scope:
/usr/include/crtmpserver/common/utils/misc/variant.h:83:14: error: variable ‘DLLEXP Variant’ has initializer but incomplete type
   83 | class DLLEXP Variant {
      |              ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:84:1: error: expected primary-expression before ‘private’
   84 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:84:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/common/utils/misc/variant.h:83:22: note: to match this ‘{’
   83 | class DLLEXP Variant {
      |                      ^
/usr/include/crtmpserver/common/utils/misc/variant.h:84:1: error: expected ‘,’ or ‘;’ before ‘private’
   84 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:98:17: error: ‘Timestamp’ does not name a type
   98 |                 Timestamp *t;
      |                 ^~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:99:17: error: ‘string’ does not name a type; did you mean ‘stdin’?
   99 |                 string *s;
      |                 ^~~~~~
      |                 stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:106:1: error: expected unqualified-id before ‘public’
  106 | public:
      | ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:108:23: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  108 |         Variant(const Variant &val);
      |                       ^~~~~~~
      |                       VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:108:36: error: expected constructor, destructor, or type conversion before ‘;’ token
  108 |         Variant(const Variant &val);
      |                                    ^
/usr/include/crtmpserver/common/utils/misc/variant.h:110:33: error: expected constructor, destructor, or type conversion before ‘;’ token
  110 |         Variant(const bool &val);
      |                                 ^
/usr/include/crtmpserver/common/utils/misc/variant.h:111:35: error: expected constructor, destructor, or type conversion before ‘;’ token
  111 |         Variant(const int8_t &val);
      |                                   ^
/usr/include/crtmpserver/common/utils/misc/variant.h:112:36: error: expected constructor, destructor, or type conversion before ‘;’ token
  112 |         Variant(const int16_t &val);
      |                                    ^
/usr/include/crtmpserver/common/utils/misc/variant.h:113:36: error: expected constructor, destructor, or type conversion before ‘;’ token
  113 |         Variant(const int32_t &val);
      |                                    ^
/usr/include/crtmpserver/common/utils/misc/variant.h:114:36: error: expected constructor, destructor, or type conversion before ‘;’ token
  114 |         Variant(const int64_t &val);
      |                                    ^
/usr/include/crtmpserver/common/utils/misc/variant.h:115:36: error: expected constructor, destructor, or type conversion before ‘;’ token
  115 |         Variant(const uint8_t &val);
      |                                    ^
/usr/include/crtmpserver/common/utils/misc/variant.h:116:37: error: expected constructor, destructor, or type conversion before ‘;’ token
  116 |         Variant(const uint16_t &val);
      |                                     ^
/usr/include/crtmpserver/common/utils/misc/variant.h:117:37: error: expected constructor, destructor, or type conversion before ‘;’ token
  117 |         Variant(const uint32_t &val);
      |                                     ^
/usr/include/crtmpserver/common/utils/misc/variant.h:118:37: error: expected constructor, destructor, or type conversion before ‘;’ token
  118 |         Variant(const uint64_t &val);
      |                                     ^
/usr/include/crtmpserver/common/utils/misc/variant.h:119:35: error: expected constructor, destructor, or type conversion before ‘;’ token
  119 |         Variant(const double &val);
      |                                   ^
/usr/include/crtmpserver/common/utils/misc/variant.h:121:23: error: ‘Timestamp’ does not name a type
  121 |         Variant(const Timestamp &time);
      |                       ^~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:121:39: error: expected constructor, destructor, or type conversion before ‘;’ token
  121 |         Variant(const Timestamp &time);
      |                                       ^
/usr/include/crtmpserver/common/utils/misc/variant.h:122:77: error: expected constructor, destructor, or type conversion before ‘;’ token
  122 |         Variant(const uint16_t year, const uint8_t month, const uint8_t day);
      |                                                                             ^
/usr/include/crtmpserver/common/utils/misc/variant.h:123:92: error: expected constructor, destructor, or type conversion before ‘;’ token
  123 |         Variant(const uint8_t hour, const uint8_t min, const uint8_t sec, const uint16_t m);
      |                                                                                            ^
/usr/include/crtmpserver/common/utils/misc/variant.h:125:100: error: expected constructor, destructor, or type conversion before ‘;’ token
  125 |                         const uint8_t hour, const uint8_t min, const uint8_t sec, const uint16_t m);
      |                                                                                                    ^
/usr/include/crtmpserver/common/utils/misc/variant.h:127:36: error: expected constructor, destructor, or type conversion before ‘;’ token
  127 |         Variant(const char *pValue);
      |                                    ^
/usr/include/crtmpserver/common/utils/misc/variant.h:128:23: error: ‘string’ does not name a type; did you mean ‘stdin’?
  128 |         Variant(const string &value);
      |                       ^~~~~~
      |                       stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:128:37: error: expected constructor, destructor, or type conversion before ‘;’ token
  128 |         Variant(const string &value);
      |                                     ^
/usr/include/crtmpserver/common/utils/misc/variant.h:130:25: error: expected class-name before ‘(’ token
  130 |         virtual ~Variant();
      |                         ^
/usr/include/crtmpserver/common/utils/misc/variant.h:133:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
  133 |         string ToString(string name = "", uint32_t indent = 0);
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:135:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  135 |         Variant & operator=(const Variant &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:136:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  136 |         Variant & operator=(const bool &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:137:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  137 |         Variant & operator=(const int8_t &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:138:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  138 |         Variant & operator=(const int16_t &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:139:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  139 |         Variant & operator=(const int32_t &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:140:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  140 |         Variant & operator=(const int64_t &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:141:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  141 |         Variant & operator=(const uint8_t &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:142:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  142 |         Variant & operator=(const uint16_t &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:143:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  143 |         Variant & operator=(const uint32_t &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:144:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  144 |         Variant & operator=(const uint64_t &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:145:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  145 |         Variant & operator=(const double &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:147:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  147 |         Variant & operator=(const Timestamp &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:149:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  149 |         Variant & operator=(const char *pVal);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:150:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  150 |         Variant & operator=(const string &val);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:152:31: error: expected constructor, destructor, or type conversion before ‘;’ token
  152 |         operator VariantType();
      |                               ^
/usr/include/crtmpserver/common/utils/misc/variant.h:153:24: error: expected constructor, destructor, or type conversion before ‘;’ token
  153 |         operator bool();
      |                        ^
/usr/include/crtmpserver/common/utils/misc/variant.h:154:26: error: expected constructor, destructor, or type conversion before ‘;’ token
  154 |         operator int8_t();
      |                          ^
/usr/include/crtmpserver/common/utils/misc/variant.h:155:27: error: expected constructor, destructor, or type conversion before ‘;’ token
  155 |         operator int16_t();
      |                           ^
/usr/include/crtmpserver/common/utils/misc/variant.h:156:27: error: expected constructor, destructor, or type conversion before ‘;’ token
  156 |         operator int32_t();
      |                           ^
/usr/include/crtmpserver/common/utils/misc/variant.h:157:27: error: expected constructor, destructor, or type conversion before ‘;’ token
  157 |         operator int64_t();
      |                           ^
/usr/include/crtmpserver/common/utils/misc/variant.h:158:27: error: expected constructor, destructor, or type conversion before ‘;’ token
  158 |         operator uint8_t();
      |                           ^
/usr/include/crtmpserver/common/utils/misc/variant.h:159:28: error: expected constructor, destructor, or type conversion before ‘;’ token
  159 |         operator uint16_t();
      |                            ^
/usr/include/crtmpserver/common/utils/misc/variant.h:160:28: error: expected constructor, destructor, or type conversion before ‘;’ token
  160 |         operator uint32_t();
      |                            ^
/usr/include/crtmpserver/common/utils/misc/variant.h:161:28: error: expected constructor, destructor, or type conversion before ‘;’ token
  161 |         operator uint64_t();
      |                            ^
/usr/include/crtmpserver/common/utils/misc/variant.h:162:26: error: expected constructor, destructor, or type conversion before ‘;’ token
  162 |         operator double();
      |                          ^
/usr/include/crtmpserver/common/utils/misc/variant.h:163:18: error: expected type-specifier before ‘Timestamp’
  163 |         operator Timestamp();
      |                  ^~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:164:18: error: expected type-specifier before ‘string’
  164 |         operator string();
      |                  ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:166:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  166 |         Variant & operator[](const string &key);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:167:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  167 |         Variant & operator[](const char *key);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:168:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  168 |         Variant & operator[](const double &key);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:169:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  169 |         Variant & operator[](const uint32_t &key);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:170:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  170 |         Variant & operator[](Variant &key);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:171:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  171 |         Variant & GetValue(string key, bool caseSensitive);
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:173:14: error: declaration of ‘operator==’ as non-function
  173 |         bool operator==(Variant variant);
      |              ^~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:173:32: error: expected ‘)’ before ‘variant’
  173 |         bool operator==(Variant variant);
      |                        ~       ^~~~~~~~
      |                                )
/usr/include/crtmpserver/common/utils/misc/variant.h:174:14: error: declaration of ‘operator!=’ as non-function
  174 |         bool operator!=(Variant variant);
      |              ^~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:174:32: error: expected ‘)’ before ‘variant’
  174 |         bool operator!=(Variant variant);
      |                        ~       ^~~~~~~~
      |                                )
/usr/include/crtmpserver/common/utils/misc/variant.h:175:14: error: ‘bool operator==(VariantType)’ must have exactly two arguments
  175 |         bool operator==(VariantType type);
      |              ^~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:176:14: error: ‘bool operator!=(VariantType)’ must have exactly two arguments
  176 |         bool operator!=(VariantType type);
      |              ^~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:178:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
  178 |         string GetTypeName();
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:179:14: error: variable or field ‘SetTypeName’ declared void
  179 |         void SetTypeName(string name);
      |              ^~~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:179:26: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  179 |         void SetTypeName(string name);
      |                          ^~~~~~
      |                          stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:180:27: error: ‘string’ does not name a type; did you mean ‘stdin’?
  180 |         bool HasKey(const string &key, bool caseSensitive = true);
      |                           ^~~~~~
      |                           stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:182:30: error: ‘string’ does not name a type; did you mean ‘stdin’?
  182 |         void RemoveKey(const string &key);
      |                              ^~~~~~
      |                              stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:187:14: error: variable or field ‘PushToArray’ declared void
  187 |         void PushToArray(Variant value);
      |              ^~~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:187:33: error: expected ‘)’ before ‘value’
  187 |         void PushToArray(Variant value);
      |                         ~       ^~~~~~
      |                                 )
/usr/include/crtmpserver/common/utils/misc/variant.h:189:9: error: ‘map’ does not name a type
  189 |         map<string, Variant>::iterator begin();
      |         ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:190:9: error: ‘map’ does not name a type
  190 |         map<string, Variant>::iterator end();
      |         ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:202:25: error: ‘Variant’ is not a type
  202 |                         Variant &variant);
      |                         ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:203:40: error: ‘bool DeserializeFromBin’ redeclared as different kind of entity
  203 |         static bool DeserializeFromBin(string &data, Variant &variant);
      |                                        ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:201:21: note: previous declaration ‘bool DeserializeFromBin(uint8_t*, uint32_t, int&)’
  201 |         static bool DeserializeFromBin(uint8_t *pBuffer, uint32_t bufferLength,
      |                     ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:203:40: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  203 |         static bool DeserializeFromBin(string &data, Variant &variant);
      |                                        ^~~~~~
      |                                        stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:203:48: error: ‘data’ was not declared in this scope
  203 |         static bool DeserializeFromBin(string &data, Variant &variant);
      |                                                ^~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:203:63: error: ‘variant’ was not declared in this scope; did you mean ‘Variant’?
  203 |         static bool DeserializeFromBin(string &data, Variant &variant);
      |                                                               ^~~~~~~
      |                                                               Variant
/usr/include/crtmpserver/common/utils/misc/variant.h:204:29: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  204 |         bool SerializeToBin(string &result);
      |                             ^~~~~~
      |                             stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:204:37: error: ‘result’ was not declared in this scope
  204 |         bool SerializeToBin(string &result);
      |                                     ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:207:25: error: ‘Variant’ is not a type
  207 |                         Variant &result);
      |                         ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:208:40: error: ‘bool DeserializeFromXml’ redeclared as different kind of entity
  208 |         static bool DeserializeFromXml(string data, Variant &result);
      |                                        ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:206:21: note: previous declaration ‘bool DeserializeFromXml(const uint8_t*, uint32_t, int&)’
  206 |         static bool DeserializeFromXml(const uint8_t *pBuffer, uint32_t bufferLength,
      |                     ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:208:40: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  208 |         static bool DeserializeFromXml(string data, Variant &result);
      |                                        ^~~~~~
      |                                        stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:208:62: error: ‘result’ was not declared in this scope
  208 |         static bool DeserializeFromXml(string data, Variant &result);
      |                                                              ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:209:29: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  209 |         bool SerializeToXml(string &result, bool prettyPrint = true);
      |                             ^~~~~~
      |                             stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:209:37: error: ‘result’ was not declared in this scope
  209 |         bool SerializeToXml(string &result, bool prettyPrint = true);
      |                                     ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:209:45: error: expected primary-expression before ‘bool’
  209 |         bool SerializeToXml(string &result, bool prettyPrint = true);
      |                                             ^~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:211:44: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  211 |         static bool DeserializeFromBinFile(string path, Variant &variant);
      |                                            ^~~~~~
      |                                            stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:211:66: error: ‘variant’ was not declared in this scope; did you mean ‘Variant’?
  211 |         static bool DeserializeFromBinFile(string path, Variant &variant);
      |                                                                  ^~~~~~~
      |                                                                  Variant
/usr/include/crtmpserver/common/utils/misc/variant.h:212:33: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  212 |         bool SerializeToBinFile(string fileName);
      |                                 ^~~~~~
      |                                 stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:214:44: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  214 |         static bool DeserializeFromXmlFile(string path, Variant &variant);
      |                                            ^~~~~~
      |                                            stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:214:66: error: ‘variant’ was not declared in this scope; did you mean ‘Variant’?
  214 |         static bool DeserializeFromXmlFile(string path, Variant &variant);
      |                                                                  ^~~~~~~
      |                                                                  Variant
/usr/include/crtmpserver/common/utils/misc/variant.h:215:33: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  215 |         bool SerializeToXmlFile(string fileName);
      |                                 ^~~~~~
      |                                 stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:217:41: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  217 |         static bool DeserializeFromJSON(string &raw, Variant &result, uint32_t &start);
      |                                         ^~~~~~
      |                                         stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:217:49: error: ‘raw’ was not declared in this scope
  217 |         static bool DeserializeFromJSON(string &raw, Variant &result, uint32_t &start);
      |                                                 ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:217:63: error: ‘result’ was not declared in this scope
  217 |         static bool DeserializeFromJSON(string &raw, Variant &result, uint32_t &start);
      |                                                               ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:217:80: error: expected primary-expression before ‘&’ token
  217 |         static bool DeserializeFromJSON(string &raw, Variant &result, uint32_t &start);
      |                                                                                ^
/usr/include/crtmpserver/common/utils/misc/variant.h:217:81: error: ‘start’ was not declared in this scope
  217 |         static bool DeserializeFromJSON(string &raw, Variant &result, uint32_t &start);
      |                                                                                 ^~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:218:30: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  218 |         bool SerializeToJSON(string &result);
      |                              ^~~~~~
      |                              stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:218:38: error: ‘result’ was not declared in this scope
  218 |         bool SerializeToJSON(string &result);
      |                                      ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:221:25: error: ‘Variant’ is not a type
  221 |                         Variant &result);
      |                         ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:222:1: error: expected unqualified-id before ‘private’
  222 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:225:25: error: ‘Variant’ is not a type
  225 |                         Variant &variant, uint32_t &cursor);
      |                         ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:226:61: error: ‘Variant’ is not a type
  226 |         static bool DeserializeFromXml(TiXmlElement *pNode, Variant &variant);
      |                                                             ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:227:33: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  227 |         void InternalCopy(const Variant &val);
      |                                 ^~~~~~~
      |                                 VariantMap
/usr/include/crtmpserver/common/utils/misc/variant.h:229:21: error: variable or field ‘EscapeJSON’ declared void
  229 |         static void EscapeJSON(string &value);
      |                     ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:229:32: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  229 |         static void EscapeJSON(string &value);
      |                                ^~~~~~
      |                                stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:229:40: error: ‘value’ was not declared in this scope; did you mean ‘_value’?
  229 |         static void EscapeJSON(string &value);
      |                                        ^~~~~
      |                                        _value
/usr/include/crtmpserver/common/utils/misc/variant.h:230:21: error: variable or field ‘UnEscapeJSON’ declared void
  230 |         static void UnEscapeJSON(string &value);
      |                     ^~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:230:34: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  230 |         static void UnEscapeJSON(string &value);
      |                                  ^~~~~~
      |                                  stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:230:42: error: ‘value’ was not declared in this scope; did you mean ‘_value’?
  230 |         static void UnEscapeJSON(string &value);
      |                                          ^~~~~
      |                                          _value
/usr/include/crtmpserver/common/utils/misc/variant.h:231:40: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  231 |         static bool ReadJSONWhiteSpace(string &raw, uint32_t &start);
      |                                        ^~~~~~
      |                                        stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:231:48: error: ‘raw’ was not declared in this scope
  231 |         static bool ReadJSONWhiteSpace(string &raw, uint32_t &start);
      |                                                ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:231:62: error: expected primary-expression before ‘&’ token
  231 |         static bool ReadJSONWhiteSpace(string &raw, uint32_t &start);
      |                                                              ^
/usr/include/crtmpserver/common/utils/misc/variant.h:231:63: error: ‘start’ was not declared in this scope
  231 |         static bool ReadJSONWhiteSpace(string &raw, uint32_t &start);
      |                                                               ^~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:232:39: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  232 |         static bool ReadJSONDelimiter(string &raw, uint32_t &start, char &c);
      |                                       ^~~~~~
      |                                       stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:232:47: error: ‘raw’ was not declared in this scope
  232 |         static bool ReadJSONDelimiter(string &raw, uint32_t &start, char &c);
      |                                               ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:232:61: error: expected primary-expression before ‘&’ token
  232 |         static bool ReadJSONDelimiter(string &raw, uint32_t &start, char &c);
      |                                                             ^
/usr/include/crtmpserver/common/utils/misc/variant.h:232:62: error: ‘start’ was not declared in this scope
  232 |         static bool ReadJSONDelimiter(string &raw, uint32_t &start, char &c);
      |                                                              ^~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:232:69: error: expected primary-expression before ‘char’
  232 |         static bool ReadJSONDelimiter(string &raw, uint32_t &start, char &c);
      |                                                                     ^~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:233:36: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  233 |         static bool ReadJSONString(string &raw, Variant &result, uint32_t &start);
      |                                    ^~~~~~
      |                                    stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:233:44: error: ‘raw’ was not declared in this scope
  233 |         static bool ReadJSONString(string &raw, Variant &result, uint32_t &start);
      |                                            ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:233:58: error: ‘result’ was not declared in this scope
  233 |         static bool ReadJSONString(string &raw, Variant &result, uint32_t &start);
      |                                                          ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:233:75: error: expected primary-expression before ‘&’ token
  233 |         static bool ReadJSONString(string &raw, Variant &result, uint32_t &start);
      |                                                                           ^
/usr/include/crtmpserver/common/utils/misc/variant.h:233:76: error: ‘start’ was not declared in this scope
  233 |         static bool ReadJSONString(string &raw, Variant &result, uint32_t &start);
      |                                                                            ^~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:234:36: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  234 |         static bool ReadJSONNumber(string &raw, Variant &result, uint32_t &start);
      |                                    ^~~~~~
      |                                    stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:234:44: error: ‘raw’ was not declared in this scope
  234 |         static bool ReadJSONNumber(string &raw, Variant &result, uint32_t &start);
      |                                            ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:234:58: error: ‘result’ was not declared in this scope
  234 |         static bool ReadJSONNumber(string &raw, Variant &result, uint32_t &start);
      |                                                          ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:234:75: error: expected primary-expression before ‘&’ token
  234 |         static bool ReadJSONNumber(string &raw, Variant &result, uint32_t &start);
      |                                                                           ^
/usr/include/crtmpserver/common/utils/misc/variant.h:234:76: error: ‘start’ was not declared in this scope
  234 |         static bool ReadJSONNumber(string &raw, Variant &result, uint32_t &start);
      |                                                                            ^~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:235:36: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  235 |         static bool ReadJSONObject(string &raw, Variant &result, uint32_t &start);
      |                                    ^~~~~~
      |                                    stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:235:44: error: ‘raw’ was not declared in this scope
  235 |         static bool ReadJSONObject(string &raw, Variant &result, uint32_t &start);
      |                                            ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:235:58: error: ‘result’ was not declared in this scope
  235 |         static bool ReadJSONObject(string &raw, Variant &result, uint32_t &start);
      |                                                          ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:235:75: error: expected primary-expression before ‘&’ token
  235 |         static bool ReadJSONObject(string &raw, Variant &result, uint32_t &start);
      |                                                                           ^
/usr/include/crtmpserver/common/utils/misc/variant.h:235:76: error: ‘start’ was not declared in this scope
  235 |         static bool ReadJSONObject(string &raw, Variant &result, uint32_t &start);
      |                                                                            ^~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:236:35: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  236 |         static bool ReadJSONArray(string &raw, Variant &result, uint32_t &start);
      |                                   ^~~~~~
      |                                   stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:236:43: error: ‘raw’ was not declared in this scope
  236 |         static bool ReadJSONArray(string &raw, Variant &result, uint32_t &start);
      |                                           ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:236:57: error: ‘result’ was not declared in this scope
  236 |         static bool ReadJSONArray(string &raw, Variant &result, uint32_t &start);
      |                                                         ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:236:74: error: expected primary-expression before ‘&’ token
  236 |         static bool ReadJSONArray(string &raw, Variant &result, uint32_t &start);
      |                                                                          ^
/usr/include/crtmpserver/common/utils/misc/variant.h:236:75: error: ‘start’ was not declared in this scope
  236 |         static bool ReadJSONArray(string &raw, Variant &result, uint32_t &start);
      |                                                                           ^~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:237:34: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  237 |         static bool ReadJSONBool(string &raw, Variant &result, uint32_t &start, string wanted);
      |                                  ^~~~~~
      |                                  stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:237:42: error: ‘raw’ was not declared in this scope
  237 |         static bool ReadJSONBool(string &raw, Variant &result, uint32_t &start, string wanted);
      |                                          ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:237:56: error: ‘result’ was not declared in this scope
  237 |         static bool ReadJSONBool(string &raw, Variant &result, uint32_t &start, string wanted);
      |                                                        ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:237:73: error: expected primary-expression before ‘&’ token
  237 |         static bool ReadJSONBool(string &raw, Variant &result, uint32_t &start, string wanted);
      |                                                                         ^
/usr/include/crtmpserver/common/utils/misc/variant.h:237:74: error: ‘start’ was not declared in this scope
  237 |         static bool ReadJSONBool(string &raw, Variant &result, uint32_t &start, string wanted);
      |                                                                          ^~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:237:81: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  237 |         static bool ReadJSONBool(string &raw, Variant &result, uint32_t &start, string wanted);
      |                                                                                 ^~~~~~
      |                                                                                 stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:238:34: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  238 |         static bool ReadJSONNull(string &raw, Variant &result, uint32_t &start);
      |                                  ^~~~~~
      |                                  stdin
/usr/include/crtmpserver/common/utils/misc/variant.h:238:42: error: ‘raw’ was not declared in this scope
  238 |         static bool ReadJSONNull(string &raw, Variant &result, uint32_t &start);
      |                                          ^~~
/usr/include/crtmpserver/common/utils/misc/variant.h:238:56: error: ‘result’ was not declared in this scope
  238 |         static bool ReadJSONNull(string &raw, Variant &result, uint32_t &start);
      |                                                        ^~~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:238:73: error: expected primary-expression before ‘&’ token
  238 |         static bool ReadJSONNull(string &raw, Variant &result, uint32_t &start);
      |                                                                         ^
/usr/include/crtmpserver/common/utils/misc/variant.h:238:74: error: ‘start’ was not declared in this scope
  238 |         static bool ReadJSONNull(string &raw, Variant &result, uint32_t &start);
      |                                                                          ^~~~~
/usr/include/crtmpserver/common/utils/misc/variant.h:239:1: error: expected declaration before ‘}’ token
  239 | };
      | ^
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:31:14: error: variable ‘DLLEXP BaseLogLocation’ has initializer but incomplete type
   31 | class DLLEXP BaseLogLocation {
      |              ^~~~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:32:1: error: expected primary-expression before ‘protected’
   32 | protected:
      | ^~~~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:32:1: error: expected ‘}’ before ‘protected’
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:31:30: note: to match this ‘{’
   31 | class DLLEXP BaseLogLocation {
      |                              ^
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:32:1: error: expected ‘,’ or ‘;’ before ‘protected’
   32 | protected:
      | ^~~~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:34:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   34 |         string _name;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:37:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   37 |         Variant _configuration;
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:38:1: error: expected unqualified-id before ‘public’
   38 | public:
      | ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:41:33: error: expected class-name before ‘(’ token
   41 |         virtual ~BaseLogLocation();
      |                                 ^
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:44:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   44 |         string GetName();
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:45:14: error: variable or field ‘SetName’ declared void
   45 |         void SetName(string name);
      |              ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:45:22: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   45 |         void SetName(string name);
      |                      ^~~~~~
      |                      stdin
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:46:50: error: ‘string’ has not been declared
   46 |         virtual bool EvalLogLevel(int32_t level, string &fileName, uint32_t lineNumber,
      |                                                  ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:47:25: error: ‘string’ has not been declared
   47 |                         string &functionName, string &message);
      |                         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:47:47: error: ‘string’ has not been declared
   47 |                         string &functionName, string &message);
      |                                               ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:46:9: error: ‘virtual’ outside class declaration
   46 |         virtual bool EvalLogLevel(int32_t level, string &fileName, uint32_t lineNumber,
      |         ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:48:50: error: ‘string’ has not been declared
   48 |         virtual bool EvalLogLevel(int32_t level, string fileName, uint32_t lineNumber,
      |                                                  ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:49:25: error: ‘string’ has not been declared
   49 |                         string functionName, Variant &le);
      |                         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:49:46: error: ‘Variant’ is not a type
   49 |                         string functionName, Variant &le);
      |                                              ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:48:9: error: ‘virtual’ outside class declaration
   48 |         virtual bool EvalLogLevel(int32_t level, string fileName, uint32_t lineNumber,
      |         ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:50:9: error: ‘virtual’ outside class declaration
   50 |         virtual bool Init();
      |         ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:51:41: error: ‘string’ has not been declared
   51 |         virtual void Log(int32_t level, string fileName, uint32_t lineNumber,
      |                                         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:52:25: error: ‘string’ has not been declared
   52 |                         string functionName, string message) = 0;
      |                         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:52:46: error: ‘string’ has not been declared
   52 |                         string functionName, string message) = 0;
      |                                              ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:51:9: error: ‘virtual’ outside class declaration
   51 |         virtual void Log(int32_t level, string fileName, uint32_t lineNumber,
      |         ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:51:22: error: function ‘void Log(int32_t, int, uint32_t, int, int)’ is initialized like a variable
   51 |         virtual void Log(int32_t level, string fileName, uint32_t lineNumber,
      |                      ^~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:53:41: error: ‘string’ has not been declared
   53 |         virtual void Log(int32_t level, string fileName, uint32_t lineNumber,
      |                                         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:54:25: error: ‘string’ has not been declared
   54 |                         string functionName, Variant &le) = 0;
      |                         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:54:46: error: ‘Variant’ is not a type
   54 |                         string functionName, Variant &le) = 0;
      |                                              ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:53:9: error: ‘virtual’ outside class declaration
   53 |         virtual void Log(int32_t level, string fileName, uint32_t lineNumber,
      |         ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:53:22: error: function ‘void Log(int32_t, int, uint32_t, int, int&)’ is initialized like a variable
   53 |         virtual void Log(int32_t level, string fileName, uint32_t lineNumber,
      |                      ^~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:55:9: error: ‘virtual’ outside class declaration
   55 |         virtual void SignalFork() = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:55:22: error: function ‘void SignalFork()’ is initialized like a variable
   55 |         virtual void SignalFork() = 0;
      |                      ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:56:1: error: expected unqualified-id before ‘private’
   56 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:58:1: error: expected declaration before ‘}’ token
   58 | };
      | ^
In file included from /usr/include/crtmpserver/common/utils/logging/logging.h:26:
/usr/include/crtmpserver/common/utils/logging/consoleloglocation.h:27:1: error: expected initializer before ‘:’ token
   27 | : public BaseLogLocation {
      | ^
In file included from /usr/include/crtmpserver/common/utils/logging/logging.h:27:
/usr/include/crtmpserver/common/utils/logging/fileloglocation.h:27:1: error: expected initializer before ‘:’ token
   27 | : public BaseLogLocation {
      | ^
In file included from /usr/include/crtmpserver/common/utils/logging/logging.h:30:
/usr/include/crtmpserver/common/utils/logging/logeventfactory.h:28:16: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   28 |         static Variant _result;
      |                ^~~~~~~
      |                VariantMap
/usr/include/crtmpserver/common/utils/logging/logeventfactory.h:30:16: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   30 |         static Variant& CreateLE(string loggerName, Variant &stats,
      |                ^~~~~~~
      |                VariantMap
In file included from /usr/include/crtmpserver/common/utils/logging/logging.h:31:
/usr/include/crtmpserver/common/utils/logging/logger.h:31:14: error: variable ‘DLLEXP Logger’ has initializer but incomplete type
   31 | class DLLEXP Logger {
      |              ^~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:32:1: error: expected primary-expression before ‘private’
   32 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:32:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/common/utils/logging/logger.h:31:21: note: to match this ‘{’
   31 | class DLLEXP Logger {
      |                     ^
/usr/include/crtmpserver/common/utils/logging/logger.h:32:1: error: expected ‘,’ or ‘;’ before ‘private’
   32 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:34:9: error: ‘vector’ does not name a type
   34 |         vector<BaseLogLocation *> _logLocations; //! Vector that stores the location of the log file.
      |         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:40:1: error: expected unqualified-id before ‘public’
   40 | public:
      | ^~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:42:24: error: expected class-name before ‘(’ token
   42 |         virtual ~Logger();
      |                        ^
/usr/include/crtmpserver/common/utils/logging/logger.h:44:21: error: ambiguating new declaration of ‘void Init()’
   44 |         static void Init();
      |                     ^~~~
/usr/include/crtmpserver/common/utils/logging/baseloglocation.h:50:22: note: old declaration ‘bool Init()’
   50 |         virtual bool Init();
      |                      ^~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:46:40: error: ‘string’ has not been declared
   46 |         static void Log(int32_t level, string fileName, uint32_t lineNumber,
      |                                        ^~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:47:25: error: ‘string’ has not been declared
   47 |                         string functionName, string formatString, ...);
      |                         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:47:46: error: ‘string’ has not been declared
   47 |                         string functionName, string formatString, ...);
      |                                              ^~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:48:44: error: ‘string’ has not been declared
   48 |         static void LogProd(int32_t level, string fileName, uint32_t lineNumber,
      |                                            ^~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:49:25: error: ‘string’ has not been declared
   49 |                         string functionName, Variant &le);
      |                         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:49:46: error: ‘Variant’ is not a type
   49 |                         string functionName, Variant &le);
      |                                              ^~~~~~~
/usr/include/crtmpserver/common/utils/logging/logger.h:50:53: error: ‘pLogLocation’ was not declared in this scope; did you mean ‘AddLogLocation’?
   50 |         static bool AddLogLocation(BaseLogLocation *pLogLocation);
      |                                                     ^~~~~~~~~~~~
      |                                                     AddLogLocation
/usr/include/crtmpserver/common/utils/logging/logger.h:52:1: error: expected declaration before ‘}’ token
   52 | };
      | ^
In file included from /usr/include/crtmpserver/common/utils/misc/misc.h:27,
                 from /usr/include/crtmpserver/common/utils/utils.h:27:
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:33:9: error: ‘map’ does not name a type
   33 |         map<uint32_t, TimerEvent> timers;
      |         ^~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:41:14: error: variable ‘DLLEXP TimersManager’ has initializer but incomplete type
   41 | class DLLEXP TimersManager {
      |              ^~~~~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:42:1: error: expected primary-expression before ‘private’
   42 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:42:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:41:28: note: to match this ‘{’
   41 | class DLLEXP TimersManager {
      |                            ^
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:42:1: error: expected ‘,’ or ‘;’ before ‘private’
   42 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:48:9: error: ‘vector’ does not name a type
   48 |         vector<uint32_t> _periodsVector;
      |         ^~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:49:9: error: ‘map’ does not name a type
   49 |         map<uint32_t, uint32_t> _periodsMap;
      |         ^~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:50:1: error: expected unqualified-id before ‘public’
   50 | public:
      | ^~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:52:31: error: expected class-name before ‘(’ token
   52 |         virtual ~TimersManager();
      |                               ^
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:72:1: error: expected unqualified-id before ‘private’
   72 | private:
      | ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:77:22: error: ‘uint32_t GCD’ redeclared as different kind of entity
   77 |         uint32_t GCD(vector<uint32_t> numbers, uint32_t startIndex);
      |                      ^~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:75:18: note: previous declaration ‘uint32_t GCD(uint32_t, uint32_t)’
   75 |         uint32_t GCD(uint32_t a, uint32_t b);
      |                  ^~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:77:22: error: ‘vector’ was not declared in this scope
   77 |         uint32_t GCD(vector<uint32_t> numbers, uint32_t startIndex);
      |                      ^~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:77:37: error: expected primary-expression before ‘>’ token
   77 |         uint32_t GCD(vector<uint32_t> numbers, uint32_t startIndex);
      |                                     ^
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:77:39: error: ‘numbers’ was not declared in this scope
   77 |         uint32_t GCD(vector<uint32_t> numbers, uint32_t startIndex);
      |                                       ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:77:57: error: expected primary-expression before ‘startIndex’
   77 |         uint32_t GCD(vector<uint32_t> numbers, uint32_t startIndex);
      |                                                         ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:78:22: error: ‘uint32_t LCM’ redeclared as different kind of entity
   78 |         uint32_t LCM(vector<uint32_t> numbers, uint32_t startIndex);
      |                      ^~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:76:18: note: previous declaration ‘uint32_t LCM(uint32_t, uint32_t)’
   76 |         uint32_t LCM(uint32_t a, uint32_t b);
      |                  ^~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:78:22: error: ‘vector’ was not declared in this scope
   78 |         uint32_t LCM(vector<uint32_t> numbers, uint32_t startIndex);
      |                      ^~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:78:37: error: expected primary-expression before ‘>’ token
   78 |         uint32_t LCM(vector<uint32_t> numbers, uint32_t startIndex);
      |                                     ^
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:78:39: error: ‘numbers’ was not declared in this scope
   78 |         uint32_t LCM(vector<uint32_t> numbers, uint32_t startIndex);
      |                                       ^~~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:78:57: error: expected primary-expression before ‘startIndex’
   78 |         uint32_t LCM(vector<uint32_t> numbers, uint32_t startIndex);
      |                                                         ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/timersmanager.h:79:1: error: expected declaration before ‘}’ token
   79 | };
      | ^
In file included from /usr/include/crtmpserver/common/utils/misc/misc.h:29:
/usr/include/crtmpserver/common/utils/misc/uri.h:27:1: error: expected initializer before ‘:’ token
   27 | : public Variant {
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:43:
/usr/include/crtmpserver/common/utils/logging/formatter.h:27:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   27 |         string _formatString;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/logging/formatter.h:31:17: error: ‘string’ does not name a type; did you mean ‘stdin’?
   31 |                 string value;
      |                 ^~~~~~
      |                 stdin
/usr/include/crtmpserver/common/utils/logging/formatter.h:38:9: error: ‘vector’ does not name a type
   38 |         vector<LogField *> _fields;
      |         ^~~~~~
/usr/include/crtmpserver/common/utils/logging/formatter.h:43:39: error: ‘string’ has not been declared
   43 |         static Formatter* GetInstance(string formatString);
      |                                       ^~~~~~
/usr/include/crtmpserver/common/utils/logging/formatter.h:44:19: error: ‘string’ has not been declared
   44 |         bool Init(string formatString);
      |                   ^~~~~~
/usr/include/crtmpserver/common/utils/logging/formatter.h:45:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   45 |         string Format(Variant &le);
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/logging/formatter.h: In constructor ‘Formatter::LogField::LogField()’:
/usr/include/crtmpserver/common/utils/logging/formatter.h:35:25: error: ‘value’ was not declared in this scope; did you mean ‘_value’?
   35 |                         value = "";
      |                         ^~~~~
      |                         _value
In file included from /tmp/zjnHpRQuqX/dump1.h:60:
/usr/include/crtmpserver/common/utils/misc/variantmap.h: At global scope:
/usr/include/crtmpserver/common/utils/misc/variantmap.h:25:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   25 |         string typeName;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/common/utils/misc/variantmap.h:26:9: error: ‘map’ does not name a type
   26 |         map<string, Variant> children;
      |         ^~~
/usr/include/crtmpserver/common/utils/misc/variantmap.h: In copy constructor ‘VariantMap::VariantMap(VariantMap&)’:
/usr/include/crtmpserver/common/utils/misc/variantmap.h:30:17: error: ‘typeName’ was not declared in this scope; did you mean ‘typename’?
   30 |                 typeName = variantMap.typeName;
      |                 ^~~~~~~~
      |                 typename
/usr/include/crtmpserver/common/utils/misc/variantmap.h:30:39: error: ‘struct VariantMap’ has no member named ‘typeName’
   30 |                 typeName = variantMap.typeName;
      |                                       ^~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variantmap.h:31:17: error: ‘children’ was not declared in this scope
   31 |                 children = variantMap.children;
      |                 ^~~~~~~~
/usr/include/crtmpserver/common/utils/misc/variantmap.h:31:39: error: ‘struct VariantMap’ has no member named ‘children’
   31 |                 children = variantMap.children;
      |                                       ^~~~~~~~
In file included from /tmp/zjnHpRQuqX/dump1.h:62:
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h: At global scope:
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:34:14: error: variable ‘DLLEXP BaseAppProtocolHandler’ has initializer but incomplete type
   34 | class DLLEXP BaseAppProtocolHandler {
      |              ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:35:1: error: expected primary-expression before ‘private’
   35 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:35:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:34:37: note: to match this ‘{’
   34 | class DLLEXP BaseAppProtocolHandler {
      |                                     ^
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:35:1: error: expected ‘,’ or ‘;’ before ‘private’
   35 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:37:1: error: expected unqualified-id before ‘protected’
   37 | protected:
      | ^~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:39:1: error: expected unqualified-id before ‘public’
   39 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:41:40: error: expected class-name before ‘(’ token
   41 |         virtual ~BaseAppProtocolHandler();
      |                                        ^
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:43:9: error: ‘virtual’ outside class declaration
   43 |         virtual bool ParseAuthenticationNode(Variant &node, Variant &result);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:43:55: error: ‘node’ was not declared in this scope
   43 |         virtual bool ParseAuthenticationNode(Variant &node, Variant &result);
      |                                                       ^~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:43:70: error: ‘result’ was not declared in this scope
   43 |         virtual bool ParseAuthenticationNode(Variant &node, Variant &result);
      |                                                                      ^~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:49:9: error: ‘virtual’ outside class declaration
   49 |         virtual void SetApplication(BaseClientApplication *pApplication);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:59:9: error: ‘BaseAppProtocolHandler’ does not name a type
   59 |         BaseAppProtocolHandler * GetProtocolHandler(uint64_t protocolType);
      |         ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:64:9: error: ‘virtual’ outside class declaration
   64 |         virtual bool PullExternalStream(URI uri, Variant streamConfig);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:64:41: error: ‘URI’ was not declared in this scope; did you mean ‘UI’?
   64 |         virtual bool PullExternalStream(URI uri, Variant streamConfig);
      |                                         ^~~
      |                                         UI
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:64:57: error: expected ‘)’ before ‘streamConfig’
   64 |         virtual bool PullExternalStream(URI uri, Variant streamConfig);
      |                                        ~                ^~~~~~~~~~~~~
      |                                                         )
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:69:9: error: ‘virtual’ outside class declaration
   69 |         virtual bool PushLocalStream(Variant streamConfig);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:69:45: error: expected ‘)’ before ‘streamConfig’
   69 |         virtual bool PushLocalStream(Variant streamConfig);
      |                                     ~       ^~~~~~~~~~~~~
      |                                             )
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:74:9: error: ‘virtual’ outside class declaration
   74 |         virtual void RegisterProtocol(BaseProtocol *pProtocol) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:74:22: error: function ‘void RegisterProtocol(BaseProtocol*)’ is initialized like a variable
   74 |         virtual void RegisterProtocol(BaseProtocol *pProtocol) = 0;
      |                      ^~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:79:9: error: ‘virtual’ outside class declaration
   79 |         virtual void UnRegisterProtocol(BaseProtocol *pProtocol) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:79:22: error: function ‘void UnRegisterProtocol(BaseProtocol*)’ is initialized like a variable
   79 |         virtual void UnRegisterProtocol(BaseProtocol *pProtocol) = 0;
      |                      ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:80:1: error: expected declaration before ‘}’ token
   80 | };
      | ^
In file included from /usr/include/crtmpserver/thelib/application/baseclientapplication.h:25,
                 from /tmp/zjnHpRQuqX/dump1.h:63:
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:33:14: error: variable ‘DLLEXP StreamsManager’ has initializer but incomplete type
   33 | class DLLEXP StreamsManager {
      |              ^~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:34:1: error: expected primary-expression before ‘private’
   34 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:34:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:33:29: note: to match this ‘{’
   33 | class DLLEXP StreamsManager {
      |                             ^
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:34:1: error: expected ‘,’ or ‘;’ before ‘private’
   34 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:37:9: error: ‘map’ does not name a type
   37 |         map<uint32_t, BaseStream *> _streamsByUniqueId;
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:38:9: error: ‘map’ does not name a type
   38 |         map<uint32_t, map<uint32_t, BaseStream *> > _streamsByProtocolId;
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:39:9: error: ‘map’ does not name a type
   39 |         map<uint64_t, map<uint32_t, BaseStream * > > _streamsByType;
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:40:9: error: ‘map’ does not name a type
   40 |         map<string, map<uint32_t, BaseStream * > > _streamsByName;
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:41:1: error: expected unqualified-id before ‘public’
   41 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:43:32: error: expected class-name before ‘(’ token
   43 |         virtual ~StreamsManager();
      |                                ^
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:72:34: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   72 |         bool StreamNameAvailable(string streamName);
      |                                  ^~~~~~
      |                                  stdin
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:77:9: error: ‘map’ does not name a type
   77 |         map<uint32_t, BaseStream *> GetAllStreams();
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:84:9: error: ‘map’ does not name a type
   84 |         map<uint32_t, BaseOutStream *> GetWaitingSubscribers(string streamName,
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:92:9: error: ‘map’ does not name a type
   92 |         map<uint32_t, BaseStream *> FindByName(string name, bool partial = false);
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:99:9: error: ‘map’ does not name a type
   99 |         map<uint32_t, BaseStream *> FindByType(uint64_t type, bool partial = false);
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:108:9: error: ‘map’ does not name a type
  108 |         map<uint32_t, BaseStream *> FindByTypeByName(uint64_t type, string name,
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:115:9: error: ‘map’ does not name a type
  115 |         map<uint32_t, BaseStream *> FindByProtocolId(uint32_t protocolId);
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:123:9: error: ‘map’ does not name a type
  123 |         map<uint32_t, BaseStream *> FindByProtocolIdByType(uint32_t protocolId,
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:132:9: error: ‘map’ does not name a type
  132 |         map<uint32_t, BaseStream *> FindByProtocolIdByName(uint32_t protocolId,
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:143:9: error: ‘map’ does not name a type
  143 |         map<uint32_t, BaseStream *> FindByProtocolIdByTypeByName(uint32_t protocolId,
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:152:1: error: expected declaration before ‘}’ token
  152 | };
      | ^
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:36:14: error: variable ‘DLLEXP BaseClientApplication’ has initializer but incomplete type
   36 | class DLLEXP BaseClientApplication {
      |              ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:37:1: error: expected primary-expression before ‘private’
   37 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:37:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:36:36: note: to match this ‘{’
   36 | class DLLEXP BaseClientApplication {
      |                                    ^
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:37:1: error: expected ‘,’ or ‘;’ before ‘private’
   37 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:40:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   40 |         string _name;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:41:9: error: ‘vector’ does not name a type
   41 |         vector<string> _aliases;
      |         ^~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:42:9: error: ‘map’ does not name a type
   42 |         map<uint64_t, BaseAppProtocolHandler *> _protocolsHandlers;
      |         ^~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:43:9: error: ‘StreamsManager’ does not name a type
   43 |         StreamsManager _streamsManager;
      |         ^~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:45:1: error: expected unqualified-id before ‘protected’
   45 | protected:
      | ^~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:48:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   48 |         Variant _authSettings;
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:49:1: error: expected unqualified-id before ‘public’
   49 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:51:17: error: declaration of ‘~ BaseClientApplication’ as non-member
   51 |         virtual ~BaseClientApplication();
      |                 ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:61:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   61 |         string GetName();
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:66:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   66 |         Variant &GetConfiguration();
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:71:9: error: ‘vector’ does not name a type
   71 |         vector<string> GetAliases();
      |         ^~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:77:9: error: ‘StreamsManager’ does not name a type
   77 |         StreamsManager *GetStreamsManager();
      |         ^~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:79:9: error: ‘virtual’ outside class declaration
   79 |         virtual bool Initialize();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:79:33: error: ‘bool Initialize()’ redeclared as different kind of entity
   79 |         virtual bool Initialize();
      |                                 ^
/usr/include/crtmpserver/common/utils/misc/file.h:44:14: note: previous declaration ‘bool Initialize’
   44 |         bool Initialize(string path);
      |              ^~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:81:9: error: ‘virtual’ outside class declaration
   81 |         virtual bool ActivateAcceptors(vector<IOHandler *> &acceptors);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:81:40: error: ‘vector’ was not declared in this scope
   81 |         virtual bool ActivateAcceptors(vector<IOHandler *> &acceptors);
      |                                        ^~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:81:57: error: expected primary-expression before ‘*’ token
   81 |         virtual bool ActivateAcceptors(vector<IOHandler *> &acceptors);
      |                                                         ^
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:81:58: error: expected primary-expression before ‘>’ token
   81 |         virtual bool ActivateAcceptors(vector<IOHandler *> &acceptors);
      |                                                          ^
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:81:61: error: ‘acceptors’ was not declared in this scope
   81 |         virtual bool ActivateAcceptors(vector<IOHandler *> &acceptors);
      |                                                             ^~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:82:9: error: ‘virtual’ outside class declaration
   82 |         virtual bool ActivateAcceptor(IOHandler *pIOHandler);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:83:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   83 |         string GetServicesInfo();
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:84:9: error: ‘virtual’ outside class declaration
   84 |         virtual bool AcceptTCPConnection(TCPAcceptor *pTCPAcceptor);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:84:42: error: ‘TCPAcceptor’ was not declared in this scope
   84 |         virtual bool AcceptTCPConnection(TCPAcceptor *pTCPAcceptor);
      |                                          ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:84:55: error: ‘pTCPAcceptor’ was not declared in this scope
   84 |         virtual bool AcceptTCPConnection(TCPAcceptor *pTCPAcceptor);
      |                                                       ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:92:25: error: ‘BaseAppProtocolHandler’ is not a type
   92 |                         BaseAppProtocolHandler *pAppProtocolHandler);
      |                         ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:109:9: error: ‘virtual’ outside class declaration
  109 |         virtual bool StreamNameAvailable(string streamName, BaseProtocol *pProtocol);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:109:22: error: redefinition of ‘bool StreamNameAvailable’
  109 |         virtual bool StreamNameAvailable(string streamName, BaseProtocol *pProtocol);
      |                      ^~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamsmanager.h:72:14: note: ‘bool StreamNameAvailable’ previously defined here
   72 |         bool StreamNameAvailable(string streamName);
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:109:42: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  109 |         virtual bool StreamNameAvailable(string streamName, BaseProtocol *pProtocol);
      |                                          ^~~~~~
      |                                          stdin
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:109:74: error: expected primary-expression before ‘*’ token
  109 |         virtual bool StreamNameAvailable(string streamName, BaseProtocol *pProtocol);
      |                                                                          ^
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:109:75: error: ‘pProtocol’ was not declared in this scope; did you mean ‘BaseProtocol’?
  109 |         virtual bool StreamNameAvailable(string streamName, BaseProtocol *pProtocol);
      |                                                                           ^~~~~~~~~
      |                                                                           BaseProtocol
/usr/include/crtmpserver/thelib/application/baseclientapplication.h: In function ‘T* GetProtocolHandler(BaseProtocol*)’:
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:113:48: error: no matching function for call to ‘GetProtocolHandler(BaseProtocol*&)’
  113 |                 return (T *) GetProtocolHandler(pProtocol);
      |                              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:112:12: note: candidate: ‘template<class T> T* GetProtocolHandler(BaseProtocol*)’
  112 |         T *GetProtocolHandler(BaseProtocol *pProtocol) {
      |            ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:112:12: note:   template argument deduction/substitution failed:
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:113:48: note:   couldn’t deduce template parameter ‘T’
  113 |                 return (T *) GetProtocolHandler(pProtocol);
      |                              ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h: At global scope:
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:115:9: error: ‘BaseAppProtocolHandler’ does not name a type
  115 |         BaseAppProtocolHandler *GetProtocolHandler(BaseProtocol *pProtocol);
      |         ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:116:9: error: ‘BaseAppProtocolHandler’ does not name a type
  116 |         BaseAppProtocolHandler *GetProtocolHandler(uint64_t protocolType);
      |         ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:119:31: error: ‘template<class T> T* GetProtocolHandler’ conflicts with a previous declaration
  119 |         T *GetProtocolHandler(string &scheme) {
      |                               ^~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:112:12: note: previous declaration ‘T* GetProtocolHandler(BaseProtocol*)’
  112 |         T *GetProtocolHandler(BaseProtocol *pProtocol) {
      |            ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:119:31: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
  119 |         T *GetProtocolHandler(string &scheme) {
      |                               ^~~~~~
      |                               stdin
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:119:39: error: ‘scheme’ was not declared in this scope
  119 |         T *GetProtocolHandler(string &scheme) {
      |                                       ^~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:119:46: error: expected ‘;’ before ‘{’ token
  119 |         T *GetProtocolHandler(string &scheme) {
      |                                              ^~
      |                                              ;
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:122:17: error: ‘BaseAppProtocolHandler’ does not name a type
  122 |         virtual BaseAppProtocolHandler *GetProtocolHandler(string &scheme);
      |                 ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:128:9: error: ‘virtual’ outside class declaration
  128 |         virtual bool OutboundConnectionFailed(Variant &customParameters);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:128:56: error: ‘customParameters’ was not declared in this scope
  128 |         virtual bool OutboundConnectionFailed(Variant &customParameters);
      |                                                        ^~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:134:9: error: ‘virtual’ outside class declaration
  134 |         virtual void RegisterProtocol(BaseProtocol *pProtocol);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:140:9: error: ‘virtual’ outside class declaration
  140 |         virtual void UnRegisterProtocol(BaseProtocol *pProtocol);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:146:9: error: ‘virtual’ outside class declaration
  146 |         virtual void SignalStreamRegistered(BaseStream *pStream);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:152:9: error: ‘virtual’ outside class declaration
  152 |         virtual void SignalStreamUnRegistered(BaseStream *pStream);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:154:9: error: ‘virtual’ outside class declaration
  154 |         virtual bool PullExternalStreams();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:155:9: error: ‘virtual’ outside class declaration
  155 |         virtual bool PullExternalStream(Variant streamConfig);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:155:22: error: redefinition of ‘bool PullExternalStream’
  155 |         virtual bool PullExternalStream(Variant streamConfig);
      |                      ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:64:22: note: ‘bool PullExternalStream’ previously defined here
   64 |         virtual bool PullExternalStream(URI uri, Variant streamConfig);
      |                      ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:155:48: error: expected ‘)’ before ‘streamConfig’
  155 |         virtual bool PullExternalStream(Variant streamConfig);
      |                                        ~       ^~~~~~~~~~~~~
      |                                                )
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:156:9: error: ‘virtual’ outside class declaration
  156 |         virtual bool PushLocalStream(Variant streamConfig);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:156:22: error: redefinition of ‘bool PushLocalStream’
  156 |         virtual bool PushLocalStream(Variant streamConfig);
      |                      ^~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:69:22: note: ‘bool PushLocalStream’ previously defined here
   69 |         virtual bool PushLocalStream(Variant streamConfig);
      |                      ^~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:156:45: error: expected ‘)’ before ‘streamConfig’
  156 |         virtual bool PushLocalStream(Variant streamConfig);
      |                                     ~       ^~~~~~~~~~~~~
      |                                             )
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:163:21: error: variable or field ‘Shutdown’ declared void
  163 |         static void Shutdown(BaseClientApplication *pApplication);
      |                     ^~~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:163:53: error: ‘pApplication’ was not declared in this scope; did you mean ‘SetApplication’?
  163 |         static void Shutdown(BaseClientApplication *pApplication);
      |                                                     ^~~~~~~~~~~~
      |                                                     SetApplication
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:164:1: error: expected unqualified-id before ‘private’
  164 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:166:1: error: expected declaration before ‘}’ token
  166 | };
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:64:
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:33:14: error: variable ‘DLLEXP ClientApplicationManager’ has initializer but incomplete type
   33 | class DLLEXP ClientApplicationManager {
      |              ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:34:1: error: expected primary-expression before ‘private’
   34 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:34:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:33:39: note: to match this ‘{’
   33 | class DLLEXP ClientApplicationManager {
      |                                       ^
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:34:1: error: expected ‘,’ or ‘;’ before ‘private’
   34 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:36:16: error: ‘map’ does not name a type
   36 |         static map<string, BaseClientApplication *> _applicationsByName;
      |                ^~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:37:16: error: ‘BaseClientApplication’ does not name a type
   37 |         static BaseClientApplication *_pDefaultApplication;
      |                ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:38:1: error: expected unqualified-id before ‘public’
   38 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:48:64: error: ‘pClientApplication’ was not declared in this scope; did you mean ‘BaseClientApplication’?
   48 |         static bool RegisterApplication(BaseClientApplication *pClientApplication);
      |                                                                ^~~~~~~~~~~~~~~~~~
      |                                                                BaseClientApplication
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:54:21: error: variable or field ‘UnRegisterApplication’ declared void
   54 |         static void UnRegisterApplication(BaseClientApplication *pClientApplication);
      |                     ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:54:66: error: ‘pClientApplication’ was not declared in this scope; did you mean ‘BaseClientApplication’?
   54 |         static void UnRegisterApplication(BaseClientApplication *pClientApplication);
      |                                                                  ^~~~~~~~~~~~~~~~~~
      |                                                                  BaseClientApplication
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:58:16: error: ‘BaseClientApplication’ does not name a type
   58 |         static BaseClientApplication *GetDefaultApplication();
      |                ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:64:16: error: ‘BaseClientApplication’ does not name a type
   64 |         static BaseClientApplication *FindAppByName(string appName);
      |                ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:70:16: error: ‘BaseClientApplication’ does not name a type
   70 |         static BaseClientApplication *FindAppById(uint32_t id);
      |                ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:75:16: error: ‘map’ does not name a type
   75 |         static map<uint32_t, BaseClientApplication *> GetAllApplications();
      |                ^~~
/usr/include/crtmpserver/thelib/application/clientapplicationmanager.h:76:1: error: expected declaration before ‘}’ token
   76 | };
      | ^
In file included from /usr/include/crtmpserver/thelib/configuration/configfile.h:25,
                 from /tmp/zjnHpRQuqX/dump1.h:65:
/usr/include/crtmpserver/thelib/configuration/module.h:29:9: error: ‘BaseClientApplication’ does not name a type
   29 | typedef BaseClientApplication * (*GetApplicationFunction_t)(Variant configuration);
      |         ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/configuration/module.h:32:33: error: typedef ‘GetFactoryFunction_t’ is initialized (use ‘decltype’ instead)
   32 | typedef BaseProtocolFactory * (*GetFactoryFunction_t)(Variant configuration);
      |                                 ^~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/configuration/module.h:32:62: error: expected ‘)’ before ‘configuration’
   32 | typedef BaseProtocolFactory * (*GetFactoryFunction_t)(Variant configuration);
      |                                                      ~       ^~~~~~~~~~~~~~
      |                                                              )
/usr/include/crtmpserver/thelib/configuration/module.h:36:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   36 |         Variant config;
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/configuration/module.h:37:9: error: ‘GetApplicationFunction_t’ does not name a type
   37 |         GetApplicationFunction_t getApplication;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/configuration/module.h:38:9: error: ‘GetFactoryFunction_t’ does not name a type
   38 |         GetFactoryFunction_t getFactory;
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/configuration/module.h:39:9: error: ‘BaseClientApplication’ does not name a type
   39 |         BaseClientApplication *pApplication;
      |         ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/configuration/module.h:41:9: error: ‘LIB_HANDLER’ does not name a type
   41 |         LIB_HANDLER libHandler;
      |         ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/configuration/module.h:42:9: error: ‘vector’ does not name a type
   42 |         vector<IOHandler *> acceptors;
      |         ^~~~~~
/usr/include/crtmpserver/thelib/configuration/module.h:50:27: error: ‘Variant’ is not a type
   50 |         bool BindAcceptor(Variant &node);
      |                           ^~~~~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:27:14: error: variable ‘DLLEXP ConfigFile’ has initializer but incomplete type
   27 | class DLLEXP ConfigFile {
      |              ^~~~~~~~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:28:1: error: expected primary-expression before ‘private’
   28 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:28:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/thelib/configuration/configfile.h:27:25: note: to match this ‘{’
   27 | class DLLEXP ConfigFile {
      |                         ^
/usr/include/crtmpserver/thelib/configuration/configfile.h:28:1: error: expected ‘,’ or ‘;’ before ‘private’
   28 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:30:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   30 |         Variant _logAppenders;
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/configuration/configfile.h:31:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   31 |         string _rootAppFolder;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/configuration/configfile.h:32:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   32 |         Variant _applications;
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/configuration/configfile.h:33:9: error: ‘map’ does not name a type
   33 |         map<string, string> _uniqueNames;
      |         ^~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:34:9: error: ‘GetApplicationFunction_t’ does not name a type
   34 |         GetApplicationFunction_t _staticGetApplicationFunction;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:35:9: error: ‘GetFactoryFunction_t’ does not name a type
   35 |         GetFactoryFunction_t _staticGetFactoryFunction;
      |         ^~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:36:9: error: ‘map’ does not name a type
   36 |         map<string, Module> _modules;
      |         ^~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:38:1: error: expected unqualified-id before ‘public’
   38 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:41:28: error: expected class-name before ‘(’ token
   41 |         virtual ~ConfigFile();
      |                            ^
/usr/include/crtmpserver/thelib/configuration/configfile.h:45:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   45 |         string GetServicesInfo();
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/configuration/configfile.h:47:26: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   47 |         bool LoadLuaFile(string path, bool forceDaemon);
      |                          ^~~~~~
      |                          stdin
/usr/include/crtmpserver/thelib/configuration/configfile.h:47:39: error: expected primary-expression before ‘bool’
   47 |         bool LoadLuaFile(string path, bool forceDaemon);
      |                                       ^~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:48:26: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   48 |         bool LoadXmlFile(string path, bool forceDaemon);
      |                          ^~~~~~
      |                          stdin
/usr/include/crtmpserver/thelib/configuration/configfile.h:48:39: error: expected primary-expression before ‘bool’
   48 |         bool LoadXmlFile(string path, bool forceDaemon);
      |                                       ^~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:56:1: error: expected unqualified-id before ‘private’
   56 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:58:36: error: ‘node’ was not declared in this scope
   58 |         bool ConfigModule(Variant &node);
      |                                    ^~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:62:44: error: ‘node’ was not declared in this scope
   62 |         bool NormalizeLogAppender(Variant &node);
      |                                            ^~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:64:44: error: ‘node’ was not declared in this scope
   64 |         bool NormalizeApplication(Variant &node);
      |                                            ^~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:65:52: error: ‘node’ was not declared in this scope
   65 |         bool NormalizeApplicationAcceptor(Variant &node, string baseFolder);
      |                                                    ^~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:65:58: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   65 |         bool NormalizeApplicationAcceptor(Variant &node, string baseFolder);
      |                                                          ^~~~~~
      |                                                          stdin
/usr/include/crtmpserver/thelib/configuration/configfile.h:66:51: error: ‘node’ was not declared in this scope
   66 |         bool NormalizeApplicationAliases(Variant &node);
      |                                                   ^~~~
/usr/include/crtmpserver/thelib/configuration/configfile.h:67:1: error: expected declaration before ‘}’ token
   67 | };
      | ^
In file included from /usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:25,
                 from /tmp/zjnHpRQuqX/dump1.h:67:
/usr/include/crtmpserver/thelib/mediaformats/mediaframe.h:39:18: error: expected type-specifier before ‘string’
   39 |         operator string() {
      |                  ^~~~~~
In file included from /usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:27:
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:32:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   32 |         Variant _SPSInfo;
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:33:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   33 |         Variant _PPSInfo;
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:39:9: error: return type specification for constructor invalid
   39 |         DLLEXP _VIDEO_AVC();
      |         ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:40:9: error: return type specification for destructor invalid
   40 |         DLLEXP virtual ~_VIDEO_AVC();
      |         ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:44:24: error: ‘IOBuffer’ is not a type
   44 |         bool Serialize(IOBuffer & dest);
      |                        ^~~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:45:33: error: ‘IOBuffer’ is not a type
   45 |         static bool Deserialize(IOBuffer &src, _VIDEO_AVC & dest);
      |                                 ^~~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:46:25: error: expected type-specifier before ‘string’
   46 |         DLLEXP operator string();
      |                         ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:57:9: error: return type specification for constructor invalid
   57 |         DLLEXP _AUDIO_AAC();
      |         ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:58:9: error: return type specification for destructor invalid
   58 |         DLLEXP virtual ~_AUDIO_AAC();
      |         ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:61:16: error: field ‘string’ has incomplete type ‘DLLEXP’
   61 |         DLLEXP string GetRTSPFmtpConfig();
      |                ^~~~~~
/usr/include/crtmpserver/common/utils/misc/file.h:32:7: note: forward declaration of ‘class DLLEXP’
   32 | class DLLEXP File {
      |       ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:61:16: error: expected ‘;’ at end of member declaration
   61 |         DLLEXP string GetRTSPFmtpConfig();
      |                ^~~~~~
      |                      ;
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:63:24: error: ‘IOBuffer’ is not a type
   63 |         bool Serialize(IOBuffer & dest);
      |                        ^~~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:64:33: error: ‘IOBuffer’ is not a type
   64 |         static bool Deserialize(IOBuffer &src, _AUDIO_AAC & dest);
      |                                 ^~~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:65:18: error: expected type-specifier before ‘string’
   65 |         operator string();
      |                  ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:68:14: error: variable ‘DLLEXP StreamCapabilities’ has initializer but incomplete type
   68 | class DLLEXP StreamCapabilities {
      |              ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:69:1: error: expected primary-expression before ‘public’
   69 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:69:1: error: expected ‘}’ before ‘public’
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:68:33: note: to match this ‘{’
   68 | class DLLEXP StreamCapabilities {
      |                                 ^
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:69:1: error: expected ‘,’ or ‘;’ before ‘public’
   69 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:75:1: error: expected unqualified-id before ‘public’
   75 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:77:36: error: expected class-name before ‘(’ token
   77 |         virtual ~StreamCapabilities();
      |                                    ^
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:89:34: error: ‘dest’ was not declared in this scope
   89 |         bool Serialize(IOBuffer &dest);
      |                                  ^~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:90:33: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   90 |         static bool Deserialize(string seekFilePath, StreamCapabilities &capabilities);
      |                                 ^~~~~~
      |                                 stdin
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:90:74: error: ‘capabilities’ was not declared in this scope; did you mean ‘StreamCapabilities’?
   90 |         static bool Deserialize(string seekFilePath, StreamCapabilities &capabilities);
      |                                                                          ^~~~~~~~~~~~
      |                                                                          StreamCapabilities
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:91:21: error: redefinition of ‘bool Deserialize’
   91 |         static bool Deserialize(IOBuffer &src, StreamCapabilities &capabilities);
      |                     ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:90:21: note: ‘bool Deserialize’ previously defined here
   90 |         static bool Deserialize(string seekFilePath, StreamCapabilities &capabilities);
      |                     ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:91:43: error: ‘src’ was not declared in this scope
   91 |         static bool Deserialize(IOBuffer &src, StreamCapabilities &capabilities);
      |                                           ^~~
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:91:68: error: ‘capabilities’ was not declared in this scope; did you mean ‘StreamCapabilities’?
   91 |         static bool Deserialize(IOBuffer &src, StreamCapabilities &capabilities);
      |                                                                    ^~~~~~~~~~~~
      |                                                                    StreamCapabilities
/usr/include/crtmpserver/thelib/streaming/streamcapabilities.h:92:1: error: expected declaration before ‘}’ token
   92 | };
      | ^
In file included from /usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:26:
/usr/include/crtmpserver/thelib/mediaformats/mediafile.h:30:19: error: ‘File’ does not name a type
   30 | #define MediaFile File
      |                   ^~~~
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:31:9: note: in expansion of macro ‘MediaFile’
   31 |         MediaFile _mediaFile;
      |         ^~~~~~~~~
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:32:9: error: ‘vector’ does not name a type
   32 |         vector<MediaFrame> _frames;
      |         ^~~~~~
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:35:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   35 |         Variant _metadata;
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:36:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   36 |         string _mediaFilePath;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:37:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   37 |         string _seekFilePath;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:38:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   38 |         string _metaFilePath;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:41:9: error: ‘StreamCapabilities’ does not name a type; did you mean ‘SN_SMIMECapabilities’?
   41 |         StreamCapabilities _streamCapabilities;
      |         ^~~~~~~~~~~~~~~~~~
      |         SN_SMIMECapabilities
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:43:34: error: expected ‘)’ before ‘&’ token
   43 |         BaseMediaDocument(Variant &metadata);
      |                          ~       ^~
      |                                  )
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:54:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   54 |         Variant GetMetadata();
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/mediaformats/mediafile.h:30:19: error: ‘File’ does not name a type
   30 | #define MediaFile File
      |                   ^~~~
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:59:9: note: in expansion of macro ‘MediaFile’
   59 |         MediaFile &GetMediaFile();
      |         ^~~~~~~~~
/usr/include/crtmpserver/thelib/mediaformats/basemediadocument.h:64:17: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   64 |         virtual Variant GetRTMPMeta() = 0;
      |                 ^~~~~~~
      |                 VariantMap
In file included from /tmp/zjnHpRQuqX/dump1.h:152:
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:37:14: error: variable ‘DLLEXP BaseProtocol’ has initializer but incomplete type
   37 | class DLLEXP BaseProtocol {
      |              ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:38:1: error: expected primary-expression before ‘private’
   38 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:38:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:37:27: note: to match this ‘{’
   37 | class DLLEXP BaseProtocol {
      |                           ^
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:38:1: error: expected ‘,’ or ‘;’ before ‘private’
   38 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:40:18: error: redefinition of ‘uint32_t _id’
   40 |         uint32_t _id;
      |                  ^~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:39:18: note: ‘uint32_t _id’ previously declared here
   39 |         uint32_t _id;
      |                  ^~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:41:9: error: ‘BaseClientApplication’ does not name a type
   41 |         BaseClientApplication *_pApplication;
      |         ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:42:1: error: expected unqualified-id before ‘protected’
   42 | protected:
      | ^~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:44:9: error: ‘BaseProtocol’ does not name a type
   44 |         BaseProtocol *_pFarProtocol;
      |         ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:45:9: error: ‘BaseProtocol’ does not name a type
   45 |         BaseProtocol *_pNearProtocol;
      |         ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:50:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
   50 |         Variant _customParameters;
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:52:1: error: expected unqualified-id before ‘public’
   52 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:55:17: error: declaration of ‘~ BaseProtocol’ as non-member
   55 |         virtual ~BaseProtocol();
      |                 ^~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:79:9: error: ‘BaseProtocol’ does not name a type
   79 |         BaseProtocol *GetFarProtocol();
      |         ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:85:14: error: variable or field ‘SetFarProtocol’ declared void
   85 |         void SetFarProtocol(BaseProtocol *pProtocol);
      |              ^~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:85:43: error: ‘pProtocol’ was not declared in this scope; did you mean ‘BaseProtocol’?
   85 |         void SetFarProtocol(BaseProtocol *pProtocol);
      |                                           ^~~~~~~~~
      |                                           BaseProtocol
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:95:9: error: ‘BaseProtocol’ does not name a type
   95 |         BaseProtocol *GetNearProtocol();
      |         ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:101:14: error: variable or field ‘SetNearProtocol’ declared void
  101 |         void SetNearProtocol(BaseProtocol *pProtocol);
      |              ^~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:101:44: error: ‘pProtocol’ was not declared in this scope; did you mean ‘BaseProtocol’?
  101 |         void SetNearProtocol(BaseProtocol *pProtocol);
      |                                            ^~~~~~~~~
      |                                            BaseProtocol
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:128:9: error: ‘BaseProtocol’ does not name a type
  128 |         BaseProtocol *GetFarEndpoint();
      |         ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:134:9: error: ‘BaseProtocol’ does not name a type
  134 |         BaseProtocol *GetNearEndpoint();
      |         ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:144:9: error: ‘BaseClientApplication’ does not name a type
  144 |         BaseClientApplication * GetApplication();
      |         ^~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:152:14: error: variable or field ‘SetOutboundConnectParameters’ declared void
  152 |         void SetOutboundConnectParameters(Variant &customParameters);
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:152:52: error: ‘customParameters’ was not declared in this scope
  152 |         void SetOutboundConnectParameters(Variant &customParameters);
      |                                                    ^~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:157:9: error: ‘Variant’ does not name a type; did you mean ‘VariantMap’?
  157 |         Variant &GetCustomParameters();
      |         ^~~~~~~
      |         VariantMap
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:163:14: error: variable or field ‘GetStackStats’ declared void
  163 |         void GetStackStats(Variant &info, uint32_t namespaceId = 0);
      |              ^~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:163:37: error: ‘info’ was not declared in this scope
  163 |         void GetStackStats(Variant &info, uint32_t namespaceId = 0);
      |                                     ^~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:163:52: error: expected primary-expression before ‘namespaceId’
  163 |         void GetStackStats(Variant &info, uint32_t namespaceId = 0);
      |                                                    ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:166:18: error: expected type-specifier before ‘string’
  166 |         operator string();
      |                  ^~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:176:9: error: ‘virtual’ outside class declaration
  176 |         virtual bool Initialize(Variant &parameters);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:176:22: error: redefinition of ‘bool Initialize’
  176 |         virtual bool Initialize(Variant &parameters);
      |                      ^~~~~~~~~~
/usr/include/crtmpserver/common/utils/misc/file.h:44:14: note: ‘bool Initialize’ previously defined here
   44 |         bool Initialize(string path);
      |              ^~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:176:42: error: ‘parameters’ was not declared in this scope
  176 |         virtual bool Initialize(Variant &parameters);
      |                                          ^~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:181:9: error: ‘virtual’ outside class declaration
  181 |         virtual void EnqueueForDelete();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:187:9: error: ‘virtual’ outside class declaration
  187 |         virtual void GracefullyEnqueueForDelete(bool fromFarSide = true);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:192:9: error: ‘virtual’ outside class declaration
  192 |         virtual IOHandler *GetIOHandler();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:198:9: error: ‘virtual’ outside class declaration
  198 |         virtual void SetIOHandler(IOHandler *pCarrier);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:203:17: error: ‘IOBuffer’ does not name a type
  203 |         virtual IOBuffer * GetInputBuffer();
      |                 ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:208:17: error: ‘IOBuffer’ does not name a type
  208 |         virtual IOBuffer * GetOutputBuffer();
      |                 ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:213:9: error: ‘virtual’ outside class declaration
  213 |         virtual uint64_t GetDecodedBytesCount();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:218:9: error: ‘virtual’ outside class declaration
  218 |         virtual bool EnqueueForOutbound();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:224:9: error: ‘virtual’ outside class declaration
  224 |         virtual bool EnqueueForTimeEvent(uint32_t seconds);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:229:9: error: ‘virtual’ outside class declaration
  229 |         virtual bool TimePeriodElapsed();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:234:9: error: ‘virtual’ outside class declaration
  234 |         virtual void ReadyForSend();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:241:9: error: ‘virtual’ outside class declaration
  241 |         virtual void SignalInterProtocolEvent(Variant &event);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:241:22: error: variable or field ‘SignalInterProtocolEvent’ declared void
  241 |         virtual void SignalInterProtocolEvent(Variant &event);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:241:56: error: ‘event’ was not declared in this scope
  241 |         virtual void SignalInterProtocolEvent(Variant &event);
      |                                                        ^~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:247:9: error: ‘virtual’ outside class declaration
  247 |         virtual void SetApplication(BaseClientApplication *pApplication);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:247:22: error: variable or field ‘SetApplication’ declared void
  247 |         virtual void SetApplication(BaseClientApplication *pApplication);
      |                      ^~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:247:60: error: ‘pApplication’ was not declared in this scope; did you mean ‘SetApplication’?
  247 |         virtual void SetApplication(BaseClientApplication *pApplication);
      |                                                            ^~~~~~~~~~~~
      |                                                            SetApplication
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:254:9: error: ‘virtual’ outside class declaration
  254 |         virtual bool SignalInputData(IOBuffer &buffer, sockaddr_in *pPeerAddress);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:254:48: error: ‘buffer’ was not declared in this scope; did you mean ‘IOBuffer’?
  254 |         virtual bool SignalInputData(IOBuffer &buffer, sockaddr_in *pPeerAddress);
      |                                                ^~~~~~
      |                                                IOBuffer
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:254:56: error: ‘sockaddr_in’ was not declared in this scope
  254 |         virtual bool SignalInputData(IOBuffer &buffer, sockaddr_in *pPeerAddress);
      |                                                        ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:254:69: error: ‘pPeerAddress’ was not declared in this scope
  254 |         virtual bool SignalInputData(IOBuffer &buffer, sockaddr_in *pPeerAddress);
      |                                                                     ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:261:58: error: ‘sockaddr_in’ has not been declared
  261 |         virtual bool SignalInputData(int32_t recvAmount, sockaddr_in *pPeerAddress);
      |                                                          ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:261:9: error: ‘virtual’ outside class declaration
  261 |         virtual bool SignalInputData(int32_t recvAmount, sockaddr_in *pPeerAddress);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:261:83: error: ‘bool SignalInputData(int32_t, int*)’ redeclared as different kind of entity
  261 |         virtual bool SignalInputData(int32_t recvAmount, sockaddr_in *pPeerAddress);
      |                                                                                   ^
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:254:22: note: previous declaration ‘bool SignalInputData’
  254 |         virtual bool SignalInputData(IOBuffer &buffer, sockaddr_in *pPeerAddress);
      |                      ^~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:267:9: error: ‘virtual’ outside class declaration
  267 |         virtual void GetStats(Variant &info, uint32_t namespaceId = 0);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:267:22: error: variable or field ‘GetStats’ declared void
  267 |         virtual void GetStats(Variant &info, uint32_t namespaceId = 0);
      |                      ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:267:40: error: ‘info’ was not declared in this scope
  267 |         virtual void GetStats(Variant &info, uint32_t namespaceId = 0);
      |                                        ^~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:267:55: error: expected primary-expression before ‘namespaceId’
  267 |         virtual void GetStats(Variant &info, uint32_t namespaceId = 0);
      |                                                       ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:278:9: error: ‘virtual’ outside class declaration
  278 |         virtual bool AllowFarProtocol(uint64_t type) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:278:22: error: function ‘bool AllowFarProtocol(uint64_t)’ is initialized like a variable
  278 |         virtual bool AllowFarProtocol(uint64_t type) = 0;
      |                      ^~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:285:9: error: ‘virtual’ outside class declaration
  285 |         virtual bool AllowNearProtocol(uint64_t type) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:285:22: error: function ‘bool AllowNearProtocol(uint64_t)’ is initialized like a variable
  285 |         virtual bool AllowNearProtocol(uint64_t type) = 0;
      |                      ^~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:292:9: error: ‘virtual’ outside class declaration
  292 |         virtual bool SignalInputData(int32_t recvAmount) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:292:56: error: ‘bool SignalInputData(int32_t)’ redeclared as different kind of entity
  292 |         virtual bool SignalInputData(int32_t recvAmount) = 0;
      |                                                        ^
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:254:22: note: previous declaration ‘bool SignalInputData’
  254 |         virtual bool SignalInputData(IOBuffer &buffer, sockaddr_in *pPeerAddress);
      |                      ^~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:299:9: error: ‘virtual’ outside class declaration
  299 |         virtual bool SignalInputData(IOBuffer &buffer) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:299:22: error: redefinition of ‘bool SignalInputData’
  299 |         virtual bool SignalInputData(IOBuffer &buffer) = 0;
      |                      ^~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:254:22: note: ‘bool SignalInputData’ previously defined here
  254 |         virtual bool SignalInputData(IOBuffer &buffer, sockaddr_in *pPeerAddress);
      |                      ^~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:299:48: error: ‘buffer’ was not declared in this scope; did you mean ‘IOBuffer’?
  299 |         virtual bool SignalInputData(IOBuffer &buffer) = 0;
      |                                                ^~~~~~
      |                                                IOBuffer
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:301:1: error: expected unqualified-id before ‘private’
  301 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:304:1: error: expected declaration before ‘}’ token
  304 | };
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:153:
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:32:14: error: variable ‘DLLEXP BaseProtocolFactory’ has initializer but incomplete type
   32 | class DLLEXP BaseProtocolFactory {
      |              ^~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:33:1: error: expected primary-expression before ‘private’
   33 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:33:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:32:34: note: to match this ‘{’
   32 | class DLLEXP BaseProtocolFactory {
      |                                  ^
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:33:1: error: expected ‘,’ or ‘;’ before ‘private’
   33 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:35:18: error: redefinition of ‘uint32_t _id’
   35 |         uint32_t _id;
      |                  ^~~
/usr/include/crtmpserver/thelib/application/baseclientapplication.h:39:18: note: ‘uint32_t _id’ previously declared here
   39 |         uint32_t _id;
      |                  ^~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:36:1: error: expected unqualified-id before ‘public’
   36 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:41:17: error: declaration of ‘~ BaseProtocolFactory’ as non-member
   41 |         virtual ~BaseProtocolFactory();
      |                 ^~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:51:17: error: ‘vector’ does not name a type
   51 |         virtual vector<uint64_t> HandledProtocols() = 0;
      |                 ^~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:55:17: error: ‘vector’ does not name a type
   55 |         virtual vector<string> HandledProtocolChains() = 0;
      |                 ^~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:60:17: error: ‘vector’ does not name a type
   60 |         virtual vector<uint64_t> ResolveProtocolChain(string name) = 0;
      |                 ^~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:66:17: error: ‘BaseProtocol’ does not name a type
   66 |         virtual BaseProtocol *SpawnProtocol(uint64_t type, Variant &parameters) = 0;
      |                 ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocolfactory.h:67:1: error: expected declaration before ‘}’ token
   67 | };
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:155:
/usr/include/crtmpserver/thelib/protocols/cli/http4cliprotocol.h:26:10: error: invalid use of incomplete type ‘class BaseProtocol’
   26 | : public BaseProtocol {
      |          ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:27:7: note: forward declaration of ‘class BaseProtocol’
   27 | class BaseProtocol;
      |       ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/cli/http4cliprotocol.h:28:9: error: ‘IOBuffer’ does not name a type
   28 |         IOBuffer _localInputBuffer;
      |         ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/cli/http4cliprotocol.h:29:9: error: ‘IOBuffer’ does not name a type
   29 |         IOBuffer _localOutputBuffer;
      |         ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/cli/http4cliprotocol.h:34:33: error: ‘Variant’ is not a type
   34 |         virtual bool Initialize(Variant &parameters);
      |                                 ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/cli/http4cliprotocol.h:36:17: error: ‘IOBuffer’ does not name a type
   36 |         virtual IOBuffer * GetOutputBuffer();
      |                 ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/cli/http4cliprotocol.h:40:38: error: ‘IOBuffer’ is not a type
   40 |         virtual bool SignalInputData(IOBuffer &buffer);
      |                                      ^~~~~~~~
In file included from /tmp/zjnHpRQuqX/dump1.h:158:
/usr/include/crtmpserver/thelib/protocols/defaultprotocolfactory.h:29:1: error: expected initializer before ‘:’ token
   29 | : public BaseProtocolFactory {
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:162:
/usr/include/crtmpserver/thelib/protocols/http/basehttpprotocolhandler.h:27:1: error: expected initializer before ‘:’ token
   27 | : public BaseAppProtocolHandler {
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:163:
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:30:44: error: ‘string’ has not been declared
   30 |         static bool GetAuthorizationHeader(string wwwAuthenticateHeader,
      |                                            ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:31:25: error: ‘string’ has not been declared
   31 |                         string username, string password, string uri, string method,
      |                         ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:31:42: error: ‘string’ has not been declared
   31 |                         string username, string password, string uri, string method,
      |                                          ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:31:59: error: ‘string’ has not been declared
   31 |                         string username, string password, string uri, string method,
      |                                                           ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:31:71: error: ‘string’ has not been declared
   31 |                         string username, string password, string uri, string method,
      |                                                                       ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:32:25: error: ‘Variant’ is not a type
   32 |                         Variant &result);
      |                         ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:33:16: error: ‘string’ does not name a type; did you mean ‘stdin’?
   33 |         static string GetWWWAuthenticateHeader(string type, string realmName);
      |                ^~~~~~
      |                stdin
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:34:41: error: ‘string’ has not been declared
   34 |         static bool ValidateAuthRequest(string rawChallange, string rawResponse,
      |                                         ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:34:62: error: ‘string’ has not been declared
   34 |         static bool ValidateAuthRequest(string rawChallange, string rawResponse,
      |                                                              ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:35:25: error: ‘string’ has not been declared
   35 |                         string method, string requestUri, Variant &realm);
      |                         ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:35:40: error: ‘string’ has not been declared
   35 |                         string method, string requestUri, Variant &realm);
      |                                        ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:35:59: error: ‘Variant’ is not a type
   35 |                         string method, string requestUri, Variant &realm);
      |                                                           ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:37:35: error: ‘string’ has not been declared
   37 |         static bool ParseAuthLine(string challenge, Variant &result, bool isResponse);
      |                                   ^~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:37:53: error: ‘Variant’ is not a type
   37 |         static bool ParseAuthLine(string challenge, Variant &result, bool isResponse);
      |                                                     ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:38:39: error: ‘Variant’ is not a type
   38 |         static bool ValidateChallenge(Variant &challenge);
      |                                       ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:39:38: error: ‘Variant’ is not a type
   39 |         static bool ValidateResponse(Variant &response);
      |                                      ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:40:49: error: ‘Variant’ is not a type
   40 |         static bool GetAuthorizationHeaderBasic(Variant &result);
      |                                                 ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:41:50: error: ‘Variant’ is not a type
   41 |         static bool GetAuthorizationHeaderDigest(Variant &result);
      |                                                  ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/http/httpauthhelper.h:42:16: error: ‘string’ does not name a type; did you mean ‘stdin’?
   42 |         static string ComputeResponseMD5(string username, string password,
      |                ^~~~~~
      |                stdin
In file included from /tmp/zjnHpRQuqX/dump1.h:174:
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:33:14: error: variable ‘DLLEXP ProtocolFactoryManager’ has initializer but incomplete type
   33 | class DLLEXP ProtocolFactoryManager {
      |              ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:34:1: error: expected primary-expression before ‘private’
   34 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:34:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:33:37: note: to match this ‘{’
   33 | class DLLEXP ProtocolFactoryManager {
      |                                     ^
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:34:1: error: expected ‘,’ or ‘;’ before ‘private’
   34 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:36:16: error: ‘map’ does not name a type
   36 |         static map<uint64_t, BaseProtocolFactory *> _factoriesByProtocolId;
      |                ^~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:37:16: error: ‘map’ does not name a type
   37 |         static map<string, BaseProtocolFactory *> _factoriesByChainName;
      |                ^~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:38:1: error: expected unqualified-id before ‘public’
   38 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:54:47: error: ‘bool UnRegisterProtocolFactory’ redeclared as different kind of entity
   54 |         static bool UnRegisterProtocolFactory(BaseProtocolFactory *pFactory);
      |                                               ^~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:49:21: note: previous declaration ‘bool UnRegisterProtocolFactory(uint32_t)’
   49 |         static bool UnRegisterProtocolFactory(uint32_t factoryId);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:54:68: error: ‘pFactory’ was not declared in this scope
   54 |         static bool UnRegisterProtocolFactory(BaseProtocolFactory *pFactory);
      |                                                                    ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:61:16: error: ‘vector’ does not name a type
   61 |         static vector<uint64_t> ResolveProtocolChain(string name);
      |                ^~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:67:16: error: ‘BaseProtocol’ does not name a type
   67 |         static BaseProtocol *CreateProtocolChain(string name, Variant &parameters);
      |                ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:73:16: error: ‘BaseProtocol’ does not name a type
   73 |         static BaseProtocol *CreateProtocolChain(vector<uint64_t> &chain,
      |                ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:75:1: error: expected unqualified-id before ‘private’
   75 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolfactorymanager.h:77:1: error: expected declaration before ‘}’ token
   77 | };
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:175:
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:32:14: error: variable ‘DLLEXP ProtocolManager’ has initializer but incomplete type
   32 | class DLLEXP ProtocolManager {
      |              ^~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:33:1: error: expected primary-expression before ‘private’
   33 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:33:1: error: expected ‘}’ before ‘private’
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:32:30: note: to match this ‘{’
   32 | class DLLEXP ProtocolManager {
      |                              ^
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:33:1: error: expected ‘,’ or ‘;’ before ‘private’
   33 | private:
      | ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:35:16: error: ‘map’ does not name a type
   35 |         static map<uint32_t, BaseProtocol *> _deadProtocols;
      |                ^~~
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:36:1: error: expected unqualified-id before ‘public’
   36 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:46:21: error: variable or field ‘UnRegisterProtocol’ declared void
   46 |         static void UnRegisterProtocol(BaseProtocol *pProtocol);
      |                     ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:46:54: error: ‘pProtocol’ was not declared in this scope; did you mean ‘BaseProtocol’?
   46 |         static void UnRegisterProtocol(BaseProtocol *pProtocol);
      |                                                      ^~~~~~~~~
      |                                                      BaseProtocol
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:51:21: error: variable or field ‘EnqueueForDelete’ declared void
   51 |         static void EnqueueForDelete(BaseProtocol *pProtocol);
      |                     ^~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:51:52: error: ‘pProtocol’ was not declared in this scope; did you mean ‘BaseProtocol’?
   51 |         static void EnqueueForDelete(BaseProtocol *pProtocol);
      |                                                    ^~~~~~~~~
      |                                                    BaseProtocol
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:65:16: error: ‘BaseProtocol’ does not name a type
   65 |         static BaseProtocol * GetProtocol(uint32_t id,
      |                ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:70:16: error: ‘map’ does not name a type
   70 |         static map<uint32_t, BaseProtocol *> GetActiveProtocols();
      |                ^~~
/usr/include/crtmpserver/thelib/protocols/protocolmanager.h:71:1: error: expected declaration before ‘}’ token
   71 | };
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:225:
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:27:10: error: invalid use of incomplete type ‘class BaseProtocol’
   27 | : public BaseProtocol {
      |          ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:27:7: note: forward declaration of ‘class BaseProtocol’
   27 | class BaseProtocol;
      |       ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:29:9: error: ‘IOBuffer’ does not name a type
   29 |         IOBuffer _inputBuffer;
      |         ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:30:9: error: ‘IOBuffer’ does not name a type
   30 |         IOBuffer _outputBuffer;
      |         ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:32:16: error: ‘map’ does not name a type
   32 |         static map<string, SSL_CTX *> _pGlobalContexts;
      |                ^~~
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:41:33: error: ‘Variant’ is not a type
   41 |         virtual bool Initialize(Variant &parameters);
      |                                 ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:45:17: error: ‘IOBuffer’ does not name a type
   45 |         virtual IOBuffer * GetOutputBuffer();
      |                 ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:46:17: error: ‘IOBuffer’ does not name a type
   46 |         virtual IOBuffer * GetInputBuffer();
      |                 ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:48:38: error: ‘IOBuffer’ is not a type
   48 |         virtual bool SignalInputData(IOBuffer &buffer);
      |                                      ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:51:40: error: ‘Variant’ is not a type
   51 |         virtual bool InitGlobalContext(Variant &parameters) = 0;
      |                                        ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:53:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   53 |         string GetSSLErrors();
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/protocols/ssl/basesslprotocol.h:55:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   55 |         string DumpBIO(BIO *pBIO);
      |         ^~~~~~
      |         stdin
In file included from /tmp/zjnHpRQuqX/dump1.h:226:
/usr/include/crtmpserver/thelib/protocols/ssl/inboundsslprotocol.h:31:40: error: ‘Variant’ is not a type
   31 |         virtual bool InitGlobalContext(Variant &parameters);
      |                                        ^~~~~~~
In file included from /tmp/zjnHpRQuqX/dump1.h:227:
/usr/include/crtmpserver/thelib/protocols/ssl/outboundsslprotocol.h:31:40: error: ‘Variant’ is not a type
   31 |         virtual bool InitGlobalContext(Variant &parameters);
      |                                        ^~~~~~~
In file included from /tmp/zjnHpRQuqX/dump1.h:228:
/usr/include/crtmpserver/thelib/protocols/tcpprotocol.h:29:10: error: invalid use of incomplete type ‘class BaseProtocol’
   29 | : public BaseProtocol {
      |          ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:27:7: note: forward declaration of ‘class BaseProtocol’
   27 | class BaseProtocol;
      |       ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/tcpprotocol.h:32:9: error: ‘IOBuffer’ does not name a type
   32 |         IOBuffer _inputBuffer;
      |         ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/tcpprotocol.h:37:33: error: ‘Variant’ is not a type
   37 |         virtual bool Initialize(Variant &parameters);
      |                                 ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/tcpprotocol.h:42:17: error: ‘IOBuffer’ does not name a type
   42 |         virtual IOBuffer * GetInputBuffer();
      |                 ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/tcpprotocol.h:44:38: error: ‘IOBuffer’ is not a type
   44 |         virtual bool SignalInputData(IOBuffer &buffer);
      |                                      ^~~~~~~~
In file included from /tmp/zjnHpRQuqX/dump1.h:229:
/usr/include/crtmpserver/thelib/protocols/timer/basetimerprotocol.h:29:1: error: expected initializer before ‘:’ token
   29 | : public BaseProtocol {
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:239:
/usr/include/crtmpserver/thelib/protocols/udpprotocol.h:29:10: error: invalid use of incomplete type ‘class BaseProtocol’
   29 | : public BaseProtocol {
      |          ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/application/baseappprotocolhandler.h:27:7: note: forward declaration of ‘class BaseProtocol’
   27 | class BaseProtocol;
      |       ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/udpprotocol.h:32:9: error: ‘IOBuffer’ does not name a type
   32 |         IOBuffer _inputBuffer;
      |         ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/udpprotocol.h:37:33: error: ‘Variant’ is not a type
   37 |         virtual bool Initialize(Variant &parameters);
      |                                 ^~~~~~~
/usr/include/crtmpserver/thelib/protocols/udpprotocol.h:42:17: error: ‘IOBuffer’ does not name a type
   42 |         virtual IOBuffer * GetInputBuffer();
      |                 ^~~~~~~~
/usr/include/crtmpserver/thelib/protocols/udpprotocol.h:44:58: error: ‘sockaddr_in’ has not been declared
   44 |         virtual bool SignalInputData(int32_t recvAmount, sockaddr_in *pPeerAddress);
      |                                                          ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/udpprotocol.h:45:38: error: ‘IOBuffer’ is not a type
   45 |         virtual bool SignalInputData(IOBuffer &buffer);
      |                                      ^~~~~~~~
In file included from /usr/include/crtmpserver/thelib/streaming/baseinstream.h:24,
                 from /usr/include/crtmpserver/thelib/streaming/baseinfilestream.h:24,
                 from /tmp/zjnHpRQuqX/dump1.h:244:
/usr/include/crtmpserver/thelib/streaming/basestream.h:33:14: error: variable ‘DLLEXP BaseStream’ has initializer but incomplete type
   33 | class DLLEXP BaseStream {
      |              ^~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:34:1: error: expected primary-expression before ‘protected’
   34 | protected:
      | ^~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:34:1: error: expected ‘}’ before ‘protected’
/usr/include/crtmpserver/thelib/streaming/basestream.h:33:25: note: to match this ‘{’
   33 | class DLLEXP BaseStream {
      |                         ^
/usr/include/crtmpserver/thelib/streaming/basestream.h:34:1: error: expected ‘,’ or ‘;’ before ‘protected’
   34 | protected:
      | ^~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:38:9: error: ‘BaseProtocol’ does not name a type
   38 |         BaseProtocol *_pProtocol;
      |         ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:39:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   39 |         string _name;
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/streaming/basestream.h:40:16: error: redefinition of ‘double _creationTimestamp’
   40 |         double _creationTimestamp;
      |                ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/protocols/baseprotocol.h:51:16: note: ‘double _creationTimestamp’ previously declared here
   51 |         double _creationTimestamp;
      |                ^~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:41:1: error: expected unqualified-id before ‘public’
   41 | public:
      | ^~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:44:17: error: declaration of ‘~ BaseStream’ as non-member
   44 |         virtual ~BaseStream();
      |                 ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:49:9: error: ‘StreamsManager’ does not name a type
   49 |         StreamsManager * GetStreamsManager();
      |         ^~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:54:17: error: ‘StreamCapabilities’ does not name a type; did you mean ‘SN_SMIMECapabilities’?
   54 |         virtual StreamCapabilities * GetCapabilities() = 0;
      |                 ^~~~~~~~~~~~~~~~~~
      |                 SN_SMIMECapabilities
/usr/include/crtmpserver/thelib/streaming/basestream.h:74:9: error: ‘string’ does not name a type; did you mean ‘stdin’?
   74 |         string GetName();
      |         ^~~~~~
      |         stdin
/usr/include/crtmpserver/thelib/streaming/basestream.h:80:14: error: variable or field ‘SetName’ declared void
   80 |         void SetName(string name);
      |              ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:80:22: error: ‘string’ was not declared in this scope; did you mean ‘stdin’?
   80 |         void SetName(string name);
      |                      ^~~~~~
      |                      stdin
/usr/include/crtmpserver/thelib/streaming/basestream.h:86:9: error: ‘virtual’ outside class declaration
   86 |         virtual void GetStats(Variant &info, uint32_t namespaceId = 0);
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:86:22: error: variable or field ‘GetStats’ declared void
   86 |         virtual void GetStats(Variant &info, uint32_t namespaceId = 0);
      |                      ^~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:86:40: error: ‘info’ was not declared in this scope
   86 |         virtual void GetStats(Variant &info, uint32_t namespaceId = 0);
      |                                        ^~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:86:55: error: expected primary-expression before ‘namespaceId’
   86 |         virtual void GetStats(Variant &info, uint32_t namespaceId = 0);
      |                                                       ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:91:9: error: ‘BaseProtocol’ does not name a type
   91 |         BaseProtocol * GetProtocol();
      |         ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:96:9: error: ‘virtual’ outside class declaration
   96 |         virtual bool IsEnqueueForDelete();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:101:9: error: ‘virtual’ outside class declaration
  101 |         virtual void EnqueueForDelete();
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:108:9: error: ‘virtual’ outside class declaration
  108 |         virtual bool Play(double absoluteTimestamp, double length) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:108:22: error: function ‘bool Play(double, double)’ is initialized like a variable
  108 |         virtual bool Play(double absoluteTimestamp, double length) = 0;
      |                      ^~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:113:9: error: ‘virtual’ outside class declaration
  113 |         virtual bool Pause() = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:113:22: error: function ‘bool Pause()’ is initialized like a variable
  113 |         virtual bool Pause() = 0;
      |                      ^~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:118:9: error: ‘virtual’ outside class declaration
  118 |         virtual bool Resume() = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:118:22: error: function ‘bool Resume()’ is initialized like a variable
  118 |         virtual bool Resume() = 0;
      |                      ^~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:124:9: error: ‘virtual’ outside class declaration
  124 |         virtual bool Seek(double absoluteTimestamp) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:124:22: error: function ‘bool Seek(double)’ is initialized like a variable
  124 |         virtual bool Seek(double absoluteTimestamp) = 0;
      |                      ^~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:129:9: error: ‘virtual’ outside class declaration
  129 |         virtual bool Stop() = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:129:22: error: function ‘bool Stop()’ is initialized like a variable
  129 |         virtual bool Stop() = 0;
      |                      ^~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:137:9: error: ‘virtual’ outside class declaration
  137 |         virtual bool SignalPlay(double &absoluteTimestamp, double &length) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:137:22: error: function ‘bool SignalPlay(double&, double&)’ is initialized like a variable
  137 |         virtual bool SignalPlay(double &absoluteTimestamp, double &length) = 0;
      |                      ^~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:142:9: error: ‘virtual’ outside class declaration
  142 |         virtual bool SignalPause() = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:142:22: error: function ‘bool SignalPause()’ is initialized like a variable
  142 |         virtual bool SignalPause() = 0;
      |                      ^~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:147:9: error: ‘virtual’ outside class declaration
  147 |         virtual bool SignalResume() = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:147:22: error: function ‘bool SignalResume()’ is initialized like a variable
  147 |         virtual bool SignalResume() = 0;
      |                      ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:153:9: error: ‘virtual’ outside class declaration
  153 |         virtual bool SignalSeek(double &absoluteTimestamp) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:153:22: error: function ‘bool SignalSeek(double&)’ is initialized like a variable
  153 |         virtual bool SignalSeek(double &absoluteTimestamp) = 0;
      |                      ^~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:158:9: error: ‘virtual’ outside class declaration
  158 |         virtual bool SignalStop() = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:158:22: error: function ‘bool SignalStop()’ is initialized like a variable
  158 |         virtual bool SignalStop() = 0;
      |                      ^~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:172:9: error: ‘virtual’ outside class declaration
  172 |         virtual bool FeedData(uint8_t *pData, uint32_t dataLength,
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:172:22: error: function ‘bool FeedData(uint8_t*, uint32_t, uint32_t, uint32_t, double, bool)’ is initialized like a variable
  172 |         virtual bool FeedData(uint8_t *pData, uint32_t dataLength,
      |                      ^~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:179:9: error: ‘virtual’ outside class declaration
  179 |         virtual void ReadyForSend() = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:179:22: error: function ‘void ReadyForSend()’ is initialized like a variable
  179 |         virtual void ReadyForSend() = 0;
      |                      ^~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:185:9: error: ‘virtual’ outside class declaration
  185 |         virtual bool IsCompatibleWithType(uint64_t type) = 0;
      |         ^~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:185:22: error: function ‘bool IsCompatibleWithType(uint64_t)’ is initialized like a variable
  185 |         virtual bool IsCompatibleWithType(uint64_t type) = 0;
      |                      ^~~~~~~~~~~~~~~~~~~~
/usr/include/crtmpserver/thelib/streaming/basestream.h:186:1: error: expected declaration before ‘}’ token
  186 | };
      | ^
/usr/include/crtmpserver/thelib/streaming/baseinstream.h:32:1: error: expected initializer before ‘:’ token
   32 | : public BaseStream {
      | ^
/usr/include/crtmpserver/thelib/streaming/baseinfilestream.h:39:1: error: expected initializer before ‘:’ token
   39 | : public BaseInStream {
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:245:
/usr/include/crtmpserver/thelib/streaming/baseinnetstream.h:27:1: error: expected initializer before ‘:’ token
   27 | : public BaseInStream {
      | ^
In file included from /usr/include/crtmpserver/thelib/streaming/baseoutfilestream.h:24,
                 from /tmp/zjnHpRQuqX/dump1.h:247:
/usr/include/crtmpserver/thelib/streaming/baseoutstream.h:29:1: error: expected initializer before ‘:’ token
   29 | : public BaseStream {
      | ^
/usr/include/crtmpserver/thelib/streaming/baseoutfilestream.h:27:1: error: expected initializer before ‘:’ token
   27 | : public BaseOutStream {
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:248:
/usr/include/crtmpserver/thelib/streaming/baseoutnetstream.h:27:1: error: expected initializer before ‘:’ token
   27 | : public BaseOutStream {
      | ^
In file included from /tmp/zjnHpRQuqX/dump1.h:252:
/usr/include/crtmpserver/thelib/streaming/innetrawstream.h:27:26: error: expected class-name before ‘{’ token
   27 | : public BaseInNetStream {
      |                          ^
/usr/include/crtmpserver/thelib/streaming/innetrawstream.h:31:9: error: ‘StreamCapabilities’ does not name a type; did you mean ‘SN_SMIMECapabilities’?
   31 |         StreamCapabilities _capabilities;
      |         ^~~~~~~~~~~~~~~~~~
      |         SN_SMIMECapabilities
/usr/include/crtmpserver/thelib/streaming/innetrawstream.h:32:9: error: ‘File’ does not name a type
   32 |         File _witness;
      |         ^~~~
/usr/include/crtmpserver/thelib/streaming/innetrawstream.h:34:36: error: expected ‘)’ before ‘*’ token
   34 |         InNetRawStream(BaseProtocol *pProtocol, StreamsManager *pStreamsManager,
      |                       ~            ^~
      |                                    )
/usr/include/crtmpserver/thelib/streaming/innetrawstream.h:39:17: error: ‘StreamCapabilities’ does not name a type; did you mean ‘SN_SMIMECapabilities’?
   39 |         virtual StreamCapabilities * GetCapabilities();
      |                 ^~~~~~~~~~~~~~~~~~
      |                 SN_SMIMECapabilities
/usr/include/crtmpserver/thelib/streaming/innetrawstream.h:40:31: error: ‘Variant’ is not a type
   40 |         virtual void GetStats(Variant &info, uint32_t namespaceId = 0);
      |                               ^~~~~~~
In file included from /tmp/zjnHpRQuqX/dump1.h:253:
/usr/include/crtmpserver/thelib/streaming/nalutypes.h:68:15: error: expected initializer before ‘NALUToString’
   68 | DLLEXP string NALUToString(uint8_t naluType);
      |               ^~~~~~~~~~~~
In file included from /tmp/zjnHpRQuqX/dump1.h:255:
/usr/include/crtmpserver/thelib/streaming/packetqueue.h:26:9: error: ‘IOBuffer’ does not name a type
   26 |         IOBuffer buffer;
      |         ^~~~~~~~
/usr/include/crtmpserver/thelib/streaming/packetqueue.h:41:9: error: ‘vector’ does not name a type
   41 |         vector<Packet *> _allPackets;
      |         ^~~~~~
/usr/include/crtmpserver/thelib/streaming/packetqueue.h:42:9: error: ‘vector’ does not name a type
   42 |         vector<Packet *> _free;
      |         ^~~~~~
/usr/include/crtmpserver/thelib/streaming/packetqueue.h:43:9: error: ‘map’ does not name a type
   43 |         map<double, vector<Packet *> > _queue;
      |         ^~~
/usr/include/crtmpserver/thelib/streaming/packetqueue.h:55:9: error: ‘vector’ does not name a type
   55 |         vector<Packet *> PushPacket(uint8_t *pData, uint32_t dataLength,
      |         ^~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h: In instantiation of ‘T BitArray::PeekBits(uint8_t) [with T = bool; uint8_t = unsigned char]’:
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:66:27:   required from ‘T BitArray::ReadBits(uint8_t) [with T = bool; uint8_t = unsigned char]’
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:123:22:   required from here
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:76:31: error: ‘assert’ was not declared in this scope
   76 |                         assert(false);
      |                         ~~~~~~^~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:76:31: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’?
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:80:31: error: ‘assert’ was not declared in this scope
   80 |                         assert(false);
      |                         ~~~~~~^~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:80:31: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’?
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:84:31: error: ‘assert’ was not declared in this scope
   84 |                         assert(false);
      |                         ~~~~~~^~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:84:31: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’?
/usr/include/crtmpserver/common/utils/buffering/bitarray.h: In instantiation of ‘T BitArray::PeekBits(uint8_t) [with T = unsigned char; uint8_t = unsigned char]’:
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:66:27:   required from ‘T BitArray::ReadBits(uint8_t) [with T = unsigned char; uint8_t = unsigned char]’
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:132:48:   required from here
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:76:31: error: ‘assert’ was not declared in this scope
   76 |                         assert(false);
      |                         ~~~~~~^~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:76:31: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’?
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:80:31: error: ‘assert’ was not declared in this scope
   80 |                         assert(false);
      |                         ~~~~~~^~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:80:31: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’?
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:84:31: error: ‘assert’ was not declared in this scope
   84 |                         assert(false);
      |                         ~~~~~~^~~~~~~
/usr/include/crtmpserver/common/utils/buffering/bitarray.h:84:31: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’?

