1

Qt プロジェクトにいくつかのオクターブ マトリックス/sloving を含めようとしています。私はそれを機能させる方法を理解できません。

g++ でビルドし、QtCreator を使用して Qt プロジェクトを作成したいと考えています。ソースから g++ で Octave をビルドしました。マトリックスを機能させることができるようですが、 octave_value を使用するとすぐにリンカーが機能しないようです (私の究極の目標は、マトリックスで feval を使用できるようにすることです)。ここに私のmain.cppがあります:

#include <iostream>
#include <oct.h>
#include <octave.h>
#include <parse.h>

int
main (void)
{
    Matrix a_matrix = Matrix (3, 3);

    std::cout << a_matrix;
    //octave_value valeur(a_matrix);

    return 0;
}

私の.pro(少し面倒だと思います...):

QT       += core gui

TARGET = TestOctave
TEMPLATE = app

INCLUDEPATH += $$PWD/../../octave-3.6.4
INCLUDEPATH += $$PWD/../../octave-3.6.4/src
INCLUDEPATH += $$PWD/../../octave-3.6.4/liboctave
INCLUDEPATH += $$PWD/../../octave-3.6.4/libcruft/misc/
INCLUDEPATH += $$PWD/../../octave-3.6.4/liboctave/.libs
LIBS += -L$$PWD/../../octave-3.6.4/liboctave/.libs/ -loctave

SOURCES += main.cpp

このように、次のような出力が得られます: 0 0 0 0 0 0 0 0 0

しかし、「octave_value valeur(a_matrix);」のコメントを外すと、main.cpp の行で、次のリンク エラーが発生します。

main.o: in function main': main.cpp:(.text.startup+0xce): undefined reference tooctave_value::octave_value(Matrix const&, MatrixType const&)' make: ディレクトリ `/home/seb/TestOctave/TestOctave-build-desktop-Qt_4_8_1_in_PATH_ System _Release' を離れます: ld は 1 つの終了ステータスを返しました

問題は、それをビルドするときにスローすることです:

mkoctfile --link-stand-alone ./TestOctave/TestOctave/main.cpp -o testOctave

そして、適切にビルド、リンク、および実行します。

要約すると、私の目標は QtCreator プロジェクトで行列 feval() を使用できるようにすることです。どうすればそれを機能させることができるか知っている人はいますか?ありがとう

4

1 に答える 1