Absl::Log Инициализация в DLL завершается сбоем при вызове с использованием ctypes в WindowsC++

Программы на C++. Форум разработчиков
Anonymous
Absl::Log Инициализация в DLL завершается сбоем при вызове с использованием ctypes в Windows

Сообщение Anonymous »

Я разрабатываю динамическую библиотеку с использованием C++ и использую ctypes в Python для вызова функций из этой библиотеки. Когда я пытаюсь инициализировать absl::Log внутри DLL, я сталкиваюсь со следующей ошибкой:
OSError: exception: access violation reading 0x0000000000000000

Эта проблема возникает только в Windows с MSVC; тот же код отлично работает на macOS с компилятором Clang.
Ниже приведен демонстрационный код, иллюстрирующий проблему.
main.cpp
#include "absl/base/log_severity.h"
#include "absl/log/globals.h"
#include "absl/log/initialize.h"
#include "absl/log/log.h"
#include

#ifdef _WIN32
#define C_API __declspec(dllexport)
#else
#define C_API
#endif

extern "C" {

C_API void initializeAbslLoggingPy() {
LOG(INFO)

Подробнее здесь: https://stackoverflow.com/questions/787 ... on-windows

Вернуться в «C++»