# FLAC: FLAC++/export.h: export symbols

FLAC++/export.h: export symbols
FLAC C++ API

## Macros

#define | FLACPP_API
#define | FLACPP_API_VERSION_CURRENT 10
#define | FLACPP_API_VERSION_REVISION 1
#define | FLACPP_API_VERSION_AGE 0

## Detailed Description

This module contains #defines and symbols for exporting function calls, and providing version information and compiled-in features.

If you are compiling for Windows (with Visual Studio or MinGW for example) and will link to the static library (libFLAC++.lib) you should define FLAC__NO_DLL in your project to make sure the symbols are exported properly.

## Macro Definition Documentation

## FLACPP_API

#define FLACPP_API

This #define is used internally in libFLAC and its headers to make sure the correct symbols are exported when working with shared libraries. On Windows, this #define is set to __declspec(dllexport) when compiling libFLAC into a library and to __declspec(dllimport) when the headers are used to link to that DLL. On non-Windows systems it is used to set symbol visibility.

Because of this, the define FLAC__NO_DLL must be defined when linking to libFLAC statically or linking will fail.

## FLACPP_API_VERSION_CURRENT

#define FLACPP_API_VERSION_CURRENT 10

These #defines will mirror the libtool-based library version number, see http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning

## FLACPP_API_VERSION_REVISION

#define FLACPP_API_VERSION_REVISION 1

see above

## FLACPP_API_VERSION_AGE

#define FLACPP_API_VERSION_AGE 0

see above

Copyright (c) 2000-2009 Josh Coalson Copyright (c) 2011-2023 Xiph.Org Foundation