这是我的第一个问题,如果没有很好的阐述或者愚蠢的话,那么对不起。如何在C++中使用Octave库
我想使用与C++
八度音库我使用Qt的创造者在Ubuntu(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”文件。我使用QtCreators“添加库”功能将库添加到我的项目中。该程序生成此代码在我的.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: 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“添加库”功能添加这个库,我仍然得到相同的错误。
请帮我
谢谢!首选的作品。但是,我必须使用与声明环境变量的shell会话运行可执行文件。当我尝试使用QtCreator执行可执行文件时,它不起作用。但那只是我对Linux的缺乏认识。 – 2011-12-15 13:18:33