链接 C++ 和 Python

Linking up C++ and Python

我正在尝试在 Visual Studio 中设置一个程序,其中我 link 创建了一个 C++ 文件和一个 Python 文件。 Python 语句中的打印语句仍然输出,我可以更改它。但是,每当我 运行 程序时,我的控制台都会显示:

开始 1

2

00000000

文件“C:\Users\marce\source\repos\PythonCPPSample\Release\setup.py”,第 4 行 print("大家好!我叫马塞尔。")

IndentationError: 在第 3 行的函数定义后需要一个缩进块

3

这真的是语法问题吗?我该怎么做才能解决这个问题?这是我的代码:

source.cpp

#include <Python.h>
#include <iostream>
#include <string>

using namespace std;

void main()
{
cout << "Start 1 \n";
Py_Initialize();
cout << "2\n";
PyObject* my_module = PyImport_ImportModule("setup");
cerr << my_module << "\n";
PyErr_Print();
cout << "3\n";
PyObject* my_function = PyObject_GetAttrString(my_module,
    "printsomething");
cout << "4\n";
PyObject* my_result = PyObject_CallObject(my_function, NULL);
Py_Finalize();
}

setup.py

import re
import string
def printsomething():
print("Hello everyone! My name is Marcel.")

此错误消息出现在控制台应用程序中,但即使将打印语句缩进 setup.py 中的函数下方,也无法解决问题。这是因为它链接到的 python 文件没有从正确的发布文件夹中提取。

因此,我只需要查看控制台上显示的 .py 文件的路径。右键单击解决方案资源管理器中的源文件并添加现有项目。转到路径引用的文件,然后单击它。在该文件上,您可以修复缩进问题和整个问题。