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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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