2

これは、Python アプリケーションのシェル スクリプトを呼び出す C++ コード (Qt を使用) の一部です。

void MainWindow::CodeAsterError()
{
    ui->textBrowserError->append(caProcess->readAllStandardError());
}

void MainWindow::CodeAsterOut()
{
    QByteArray byteArray = caProcess->readAllStandardOutput();
    QStringList strLines = QString(byteArray).split("\n");

    foreach (QString line, strLines)
    {
        ui->textBrowserOut->append(line);
    }
}

void MainWindow::on_pushButton_clicked()
{
    QString program = "/home/oogolov/aster/bin/as_run";
    QStringList arguments;
    arguments << "/home/oogolov/GeoFEA/GeoFEA2D/WorkDir/Calc.export";

    connect (caProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(CodeAsterOut()));
    connect (caProcess, SIGNAL(readyReadStandardError()), this, SLOT(CodeAsterError()));

    caProcess->start(program,arguments);
    // works too
    //caProcess->start("/bin/bash", QStringList() << "/home/oogolov/aster/bin/as_run" << "/home/oogolov/GeoFEA/GeoFEA2D/WorkDir/Calc.export");
    caProcess->waitForReadyRead(100);
}

アプリケーションを実行 (ビルド/実行) すると、うまく機能します。しかし、デバッグ (デバッグ/デバッグ開始) すると、次のエラーが発生します。


Traceback (most recent call last):
File "<string>", line 1, in <module>

File "/home/oogolov/aster/lib/python2.7/site-packages/asrun/main.py", line 109, in main start()

File "/home/oogolov/aster/lib/python2.7/site-packages/asrun/main.py", line 51, in start run = AsterRun()

File "/home/oogolov/aster/lib/python2.7/site-packages/asrun/run.py", line 186, in __init__ self.LoadExtensions()

File "/home/oogolov/aster/lib/python2.7/site-packages/asrun/run.py", line 297, in LoadExtensions import asrun.maintenance

File "/home/oogolov/aster/lib/python2.7/site-packages/asrun/maintenance.py", line 42, in <module> from asrun.build import AsterBuild

File "/home/oogolov/aster/lib/python2.7/site-packages/asrun/build.py", line 31, in <module> from zipfile import ZipFile

File "/opt/QtSDK/debugger/Desktop/lib/python2.7/zipfile.py", line 6, in <module> import io

File "/opt/QtSDK/debugger/Desktop/lib/python2.7/io.py", line 60, in <module> import _io

ImportError: /opt/QtSDK/debugger/Desktop/lib/python2.7/lib-dynload/_io.so: undefined symbol: PyUnicodeUCS2_FromObject

この「インポート、PyUnicodeUCS2_FromObject」状態を修復するのを手伝ってもらえますか?

4

1 に答える 1

2

準公式の Python FAQ を参照してください。

デバッグに使用している Python ビルドは、実行に使用しているものと同じではないようです。

于 2013-06-28T09:33:38.880 に答える