12 #ifndef PQXX_H_COMPILER_PUBLIC
13 #define PQXX_H_COMPILER_PUBLIC
16 #include "pqxx/config-public-compiler.h"
23 #if defined(PQXX_HAVE_GCC_PURE)
25 # define PQXX_PURE __attribute__((pure))
38 # if defined(PQXX_SHARED) && !defined(PQXX_LIBEXPORT)
39 # define PQXX_LIBEXPORT __declspec(dllimport)
48 # define PQXX_DEPRECATED(MESSAGE) __declspec(deprecated(# MESSAGE))
52 # define PQXX_NOVTABLE __declspec(novtable)
58 # if defined(PQXX_AUTOLINK)
59 # if defined(PQXX_PQ_STATIC)
61 # pragma comment(lib, "libpqd")
63 # pragma comment(lib, "libpq")
67 # pragma comment(lib, "libpqddll")
69 # pragma comment(lib, "libpqdll")
82 # if defined(PQXX_AUTOLINK) && !defined(PQXX_INTERNAL)
85 # pragma comment(lib, "libpqxxD")
87 # pragma comment(lib, "libpqxx")
91 # pragma comment(lib, "libpqxx_staticD")
93 # pragma comment(lib, "libpqxx_static")
100 #elif defined(PQXX_HAVE_GCC_VISIBILITY)
102 # define PQXX_LIBEXPORT __attribute__((visibility("default")))
103 # define PQXX_PRIVATE __attribute__((visibility("hidden")))
108 #ifndef PQXX_LIBEXPORT
109 # define PQXX_LIBEXPORT
113 # define PQXX_PRIVATE
116 #ifndef PQXX_NOVTABLE
117 # define PQXX_NOVTABLE
120 #ifndef PQXX_DEPRECATED
121 # define PQXX_DEPRECATED(MESSAGE) [[deprecated(# MESSAGE)]]