我正在尝试在 Qt 项目中包含一些八度音阶矩阵/ sloving。我不知道如何使它工作。
我想要一个 Qt 项目,使用 g++ 构建并使用 QtCreator。我用 g++ 从源代码构建了 Octave。似乎我可以让 Matrix 工作,但是一旦我使用 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: 在函数
main': main.cpp:(.text.startup+0xce): undefined reference to
octave_value::octave_value(Matrix const&, MatrixType const&)' make: 离开目录 `/home/seb/TestOctave/TestOctave-build-desktop-Qt_4_8_1_in_PATH_ System _Release' collect2: ld 返回 1 退出状态
问题是,当我构建它时,抛出:
mkoctfile --link-stand-alone ./TestOctave/TestOctave/main.cpp -o testOctave
它可以正确构建、链接和执行。
总而言之,我的目标是能够在 QtCreator 项目中使用矩阵 feval()。有谁知道我怎样才能让它工作?谢谢