2012-09-12 47 views
1

当我得到一个使用unix()运行的qt编译的可执行文件时,我有一个Matlab文件,但出现错误。在Matlab中调用qt可执行文件的错误

代码:

unix('/home/matt/Desktop/PlaneVolumeFinal/PlaneVolumeGui'); 

错误:

/home/matt/Desktop/PlaneVolumeFinal/PlaneVolumeGui: symbol lookup error: /home/matt/Desktop 
/PlaneVolumeFinal/PlaneVolumeGui: undefined symbol: _ZN9QListData7detach3Ev 
+1

这似乎是来自Unix的错误。你可以参考下面的链接: http://ubuntuforums.org/showthread.php?t=1469364 – skg

+0

执行一个vtk可执行文件它可以工作,'unix('/ home/matt/Desktop/PlaneVolume/planevolume');'' – SamuelNLP

+1

其实上面的链接是qt4的一些库文件,如线程中提到的 “正在删除 /usr/local/lib/beidqt/libQtGui.so.4(0x00f97000) /usr/local/lib/beidqt/libQtCore.so .4 解决了我的问题。“ 所以我认为,它会帮助你解决你的问题。 另外,如果您点击此链接,您可能会发现很多解决方案:https://www.google.co.in/#hl=en&newwindow=1&output=search&sclient=psy-ab&q=_ZN9QListData7detach3Ev&oq=_ZN9QListData7detach3Ev&gs_l=hp.3 .. 0.8589.8589.0.9645.1.1.0.0.0.0.91.91.1.1.0 ... 0.0 ... 1c.1j2.kn39TrGkfdY&PBX = 1&BAV = on.2,or.r_gc.r_pw.r_cp.r_qf。&FP = 24e3607ac87a03e2&BIW = 1517&波黑= 727 – skg

回答

1

的动态链接库的链接时,应用程序启动,错误是说,OS无法找到包含库东西为QList,那个库是QtCore

确保Qt的运行时库的地方在那里的OS可以找到他们 - 通常/usr/lib(64)。我的猜测是,你没有运行时间,但正在使用Qt的SDK,所以QtCreator使用这些进行编译 - 但它们不在你的操作系统的路径上,因为它运行在那之外。

+0

我在'/ usr/lib64'中有'Qtcore',它是'libQtCore.so.4.6.2' – SamuelNLP

+0

你正在编译的Qt版本是什么? – cmannett85

+0

我认为这是4 – SamuelNLP