Я пытаюсь запустить приложение на 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