0

我正在使用 Ubuntu 20.04、python 3.8 并在 Qt Creator 中开发 C++ 项目。我正在尝试从 C++ 代码调用 python 文件。我在 conda 中创建了一个环境并调用了 py 文件。尝试导入 cv2 模块时发生分段错误。可以导入 sys、numpy 等其他模块。cv2 安装在环境中,当我从 cmd 提示符运行 python 时可以访问。

我还尝试直接在 C++ 文件中运行 python 命令,例如:

PyRun_SimpleString("import cv2");

但这也会发送分段错误。我尝试在 CMakeLists.txt 中给出站点包目录的路径,但它也导致了同样的错误。

主窗口.cpp:

#include "mainwindow.h"
#include "./ui_mainwindow.h"
#include <stdio.h>
#include <pyhelper.hpp>
#include <string>
#include <iostream>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    Py_InitializeEx(0);

    PyRun_SimpleString("import cv2");

}

MainWindow::~MainWindow()
{
    delete ui;
}

Qt Creator 调试器堆栈跟踪如下: 在此处输入图像描述 在此处输入图像描述

4

0 回答 0