Попытка передать аргументы в функцию c ++ из python, используя boost.python - PullRequest
1 голос
/ 30 сентября 2019

Я пытаюсь запустить приложение на C ++ из python. Я настроил boost.python, чтобы позволить мне сделать это;однако функция c ++, которую я пытаюсь вызвать, требует консольных аргументов, которые я использовал для ввода в visual studio перед сборкой. Теперь у меня есть этот вызываемый код из python, и я хотел бы передать эти аргументы через сторону python.

Я попытался ввести это, просто введя аргументы в функцию python, но у нее есть проблемы с преобразованием.

Вот сообщение об ошибке: Boost.Python.ArgumentError: Python argument types in cplusplus.function(int, str, str, str, str) did not match C++ signature: function(int, char * __ptr64 * __ptr64)

Если есть способ, которым я могу преобразовать строки в char * __ptr64, это было бы здорово. Или, если есть автоматический способ, то еще лучше.

с использованием Python 3.7 Visual Studio 16.3 и последней версии (1.71). Любую другую информацию, которую я с радостью предоставлю

Вот мое объявление функции c ++ с аргументами: int notmain(int argc, char* argv[]) {

И сторона, вызывающая его на python: print (cplusplus.function(Port, Server, user, pass, request)) (Порт являетсяint, а все остальное - строки.)

Любой совет / понимание по этому вопросу будет высоко ценится, спасибо!

Breddie

...