Сейчас я работаю с существующим модулем, который предоставляет интерфейс C ++ и выполняет несколько операций со строками.
Мне нужно было использовать строки Unicode, и модуль, к сожалению, не имел никакой поддержки дляинтерфейс Unicode, поэтому я написал дополнительную функцию для добавления в интерфейс:
void SomeUnicodeFunction(const wchar_t* string)
Однако, когда я пытаюсь использовать следующий код в Python:
SomeModule.SomeUnicodeFunction(ctypes.c_wchar_p(unicode_string))
, я получаю этоошибка:
ArgumentError: Python argument types in
SomeModule.SomeUnicodeFunction(SomeModule, c_wchar_p)
did not match C++ signature:
SomeUnicodeFunction(... {lvalue}, wchar_t const*)
(имена были изменены).
Я попытался изменить wchar_t в модуле C ++ на Py_UNICODE, но безуспешно.Как мне решить эту проблему?