File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed
SoftwareGuide/Latex/Appendices Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -3102,6 +3102,25 @@ \section{Using Standard Macros}
31023102to the [\code {min}, \code {max}] closed interval.
31033103\end {itemize }
31043104
3105+ Furthermore, the ITK symbol visibility is governed by some macros using the
3106+ following rules:
3107+ \begin {itemize }
3108+ \item \code {\$ {ModuleName}\_ EXPORT}: export for non-templated classes.
3109+ \item \code {ITK\_ TEMPLATE\_ EXPORT}: export for templated classes.
3110+ \item \code {ITK\_ FORWARD\_ EXPORT}: export for forward declarations.
3111+ \end {itemize }
3112+
3113+ This supports the all the combinations of:
3114+ \begin {itemize }
3115+ \item macOS, Linux and Windows operating systems,
3116+ \item the shared \code {BUILD\_ SHARED\_ LIBS} \code {ON} and \code {OFF} static
3117+ linking modes,
3118+ \item explicit and implicit template instantiation,
3119+ \item the CMake \code {CMAKE\_ CXX\_ VISIBILITY\_ PRESET} flag set to hidden (i.e.
3120+ \code {-fvisibility=hidden}),
3121+ \item the CMake flag {CMAKE\_ WINDOWS\_ EXPORT\_ ALL\_ SYMBOLS:BOOL=ON}.
3122+ \end {itemize }
3123+
31053124Please review this file and become familiar with these macros.
31063125
31073126All classes must declare the basic macros for object creation and run-time type
You can’t perform that action at this time.
0 commit comments