2012-09-12 44 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