Security Scol plugin
Macros
config_dll.h File Reference

Library configuration file. More...

#include "config_os.h"

Go to the source code of this file.

Macros

#define CRYPTOPP_TABLE   extern
 
#define CRYPTOPP_DLL
 
#define CRYPTOPP_API
 
#define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS   extern template class CRYPTOPP_DLL
 
#define CRYPTOPP_DLL_TEMPLATE_CLASS   CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS
 
#define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS   extern template class
 
#define CRYPTOPP_STATIC_TEMPLATE_CLASS   CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS
 

Detailed Description

Library configuration file.

config_dll.h provides defines for shared objects and dynamic libraries. Generally speaking the macros are used to export classes and template classes from the Win32 dynamic link library. When not building the Win32 dynamic link library they are mostly an extern template declaration.

In practice they are a furball coughed up by a cat and then peed on by a dog. They are awful to get just right because of inconsistent compiler support for extern templates, manual instantiation and the FIPS DLL.

config.h was split into components in May 2019 to better integrate with Autoconf and its feature tests. The splitting occurred so users could continue to include config.h while allowing Autoconf to write new config_asm.h and new config_cxx.h using its feature tests.

Note
You should include config.h rather than config_dll.h directly.
See also
Issue 835, Make config.h more autoconf friendly, Configure.sh script, Visual Studio, and FIPS DLL on the Crypto++ wiki
Since
Crypto++ 8.3

Definition in file config_dll.h.

Macro Definition Documentation

◆ CRYPTOPP_API

#define CRYPTOPP_API

Definition at line 144 of file config_dll.h.

◆ CRYPTOPP_DLL

#define CRYPTOPP_DLL

Definition at line 143 of file config_dll.h.

◆ CRYPTOPP_DLL_TEMPLATE_CLASS

#define CRYPTOPP_DLL_TEMPLATE_CLASS   CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS

Definition at line 159 of file config_dll.h.

◆ CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS

#define CRYPTOPP_EXTERN_DLL_TEMPLATE_CLASS   extern template class CRYPTOPP_DLL

Definition at line 153 of file config_dll.h.

◆ CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS

#define CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS   extern template class

Definition at line 167 of file config_dll.h.

◆ CRYPTOPP_STATIC_TEMPLATE_CLASS

#define CRYPTOPP_STATIC_TEMPLATE_CLASS   CRYPTOPP_EXTERN_STATIC_TEMPLATE_CLASS

Definition at line 173 of file config_dll.h.

◆ CRYPTOPP_TABLE

#define CRYPTOPP_TABLE   extern

Definition at line 142 of file config_dll.h.