Я видел исходный код Qt следующим образом:
class Q_CORE_EXPORT QBasicAtomicInt
{
public:
...
};
Какой макрос Q_CORE_EXPORT определяется следующим образом:
define Q_DECL_IMPORT __declspec(dllimport)
Итак, что означает __declspec(dllimport)?
Я видел исходный код Qt следующим образом:
class Q_CORE_EXPORT QBasicAtomicInt
{
public:
...
};
Какой макрос Q_CORE_EXPORT определяется следующим образом:
define Q_DECL_IMPORT __declspec(dllimport)
Итак, что означает __declspec(dllimport)?
 __declspec - это атрибут, специфичный для Microsoft, который позволяет указать информацию о классе хранения. 
 (Nitpicker Corner: Однако ряд других поставщиков компиляторов, например GCC, теперь поддерживают это языковое расширение для совместимости с установленной базой кода, написанной с таргетингом на компиляторы Microsoft. Некоторые даже предоставляют дополнительные атрибуты класса хранения.)суб > 
Два из этих атрибутов класса хранения, которые могут быть указаны, - dllimport и dllexport. Они указывают компилятору, что функция или объект импортируются или экспортируются (соответственно) из DLL.
В частности, они определяют интерфейс DLL для клиента, не требуя файла определения модуля (.DEF). Большинство людей находят гораздо проще использовать эти языковые расширения, чем создавать файлы DEF.
По понятным причинам, __declspec(dllimport) и __declspec(dllexport), как правило, спарены друг с другом. Вы используете dllexport для обозначения символа, экспортированного из DLL, и используете dllimport для импорта экспортированного символа в другой файл.
Из-за этого и из-за того, что один и тот же заголовочный файл обычно используется как при компиляции DLL, так и в клиентском коде, который потребляет интерфейс DLL, это общий шаблон для определения макроса, который автоматически переходит к соответствующему спецификатору атрибута при компиляции -время. Например:
#if COMPILING_DLL
    #define DLLEXPORT __declspec(dllexport)
#else
    #define DLLEXPORT __declspec(dllimport)
#endif
Затем отметьте все символы, которые должны быть экспортированы с помощью dllexport.
Предположительно, это то, что делает макрос Q_CORE_EXPORT, разрешая либо Q_DECL_IMPORT, либо Q_DECL_EXPORT.
 __declspec(dllimport) - спецификатор класса хранения, который сообщает компилятору, что функция или объект или тип данных определены во внешней DLL.
Функция или объект или тип данных экспортируются из DLL с соответствующим __declspec(dllexport).
Это означает, что определение функции находится в динамической библиотеке. Более подробную информацию и примеры см. В документации.