这是我在这里提出的第一个问题,如果不够清晰或显得愚蠢,请提前谅解。
我正在尝试在C++中使用Octave库。
我在Ubuntu上使用Qt Creator(Linux初学者)。
#include "octave/oct.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Matrix matrix(3,4);
return a.exec();
}
起初我遇到了一些未定义的引用错误。我发现程序缺少库,所以我寻找了名为“liboctave.so”的库。我在usr/lib/octave-3.2.4中找到了它。更准确地说,有一个符号链接名为“liboctave.so”,指向“liboctave.so.3.2.4”文件。我使用Qt Creator的“添加库”功能将库添加到我的项目中。程序在我的.pro文件中生成了以下代码。
unix:!macx:!symbian: LIBS += -L$$PWD/../../../../usr/lib/octave-3.2.4/ -loctave
INCLUDEPATH += $$PWD/../../../../usr/lib/octave-3.2.4
DEPENDPATH += $$PWD/../../../../usr/lib/octave-3.2.4
程序编译无误,甚至没有关于未定义引用的投诉。但当我运行它时,我遇到了以下问题:
开始/home/martin/Projects/test-build-desktop/test...
/home/martin/Projects/test-build-desktop/test: error while loading shared libraries: liboctave.so: cannot open shared object file: No such file or directory
/home/martin/Projects/test-build-desktop/test exited with code 127
我无法理解为什么它找不到文件。我正在用肉眼查看文件。
我想问题可能是权限,所以我将“liboctave.so.3.2.4”文件复制到项目位置,重命名为“liboctave.so”,并为每个人添加了所有权限。然后使用Qtcreator的“添加库”功能添加了此库,但仍然出现相同的错误。
请帮帮我。