ConfigurationsΒΆ
It is possible to build the ProtocolFilters project as a DLL or a static library, with C or C++ interface. Here is a list of supported project configurations:
Debug : builds a debug version of the DLL with C++ interface and lib to link with the DLL.
Release : builds a release version of the DLL with C++ interface and lib to link with the DLL.
Debug_c_api : builds a debug version of the DLL with C interface and lib to link with the DLL.
Release_c_api : builds a release version of the DLL with C interface and lib to link with the DLL.
Debug_static_dll : builds a debug version of the static library with C++ interface, linking with C runtime dynamically (uses /MDd compiler flag).
Release_static_dll : builds a release version of the static library with C++ interface, linking with C runtime dynamically (uses /MD compiler flag).
Release_static : builds a release version of the static library with C++ interface, linking statically with C runtime (uses /MT compiler flag).
The generated lib files are saved to lib\$(ConfigurationName)\$(PlatformName), and dll files are saved to bin\$(ConfigurationName)\$(PlatformName).
Each configuration links with the appropriate builds of OpenSSL libraries via lib files. If SSL filtering (FT_SSL) is not required, it is possible to define the symbol PF_NO_SSL_FILTER in the project configuration to disable linking with OpenSSL.
It is necessary to define the symbol _PF_STATIC_LIB in your project when linking with the static build of the library.
Linux and macOS builds always use static linkage.