2012-06-26 143 views
0

由於某些原因,無論何時我嘗試使用示例代碼,我的編譯器都拒絕合作。Qt LNK2019,LNK2001,LNK1120 QT多媒體錯誤[Visual Studio Express '10]

我使用的示例代碼來自這裏:http://qt-project.org/doc/qt-4.8/multimedia-videowidget.html;我目前只使用VideoWidgetSurface類。

據我所知,我的代碼與樣本完全相同,並且沒有編碼錯誤。

然而,在編制我收到:

1>moc_VideoWidgetSurface.obj : error LNK2019: unresolved external symbol "__declspec(dllimport)  
public: virtual void * __thiscall QAbstractVideoSurface::qt_metacast(char const *)" (__imp_? 
[email protected]@@[email protected]) referenced in function "public: virtual void * 
__thiscall VideoWidgetSurface::qt_metacast(char const *)" (? 
[email protected]@@[email protected]) 
1>moc_VideoWidgetSurface.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) 
public: virtual int __thiscall QAbstractVideoSurface::qt_metacall(enum QMetaObject::Call,int,void * 
*)" ([email protected]@@[email protected]@@[email protected]) referenced in 
function "public: virtual int __thiscall VideoWidgetSurface::qt_metacall(enum 
QMetaObject::Call,int,void * *)"([email protected]@@[email protected]@@[email protected]) 

。 。 。 。

1>VideoWidgetSurface.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: 
class QSize __thiscall QVideoSurfaceFormat::frameSize(void)const " (__imp_? 
[email protected]@@[email protected]@XZ) referenced in function "public: bool __thiscall 
VideoWidgetSurface::isFormatSupported(class QVideoSurfaceFormat const &,class QVideoSurfaceFormat 
*)const " ([email protected]@@[email protected]@[email protected]@Z) 
1>VideoWidgetSurface.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: 
static enum QImage::Format __cdecl QVideoFrame::imageFormatFromPixelFormat(enum 
QVideoFrame::PixelFormat)" ([email protected]@@SA? 
[email protected]@@[email protected]@@Z) referenced in function "public: bool __thiscall 
VideoWidgetSurface::isFormatSupported(class QVideoSurfaceFormat const &,class QVideoSurfaceFormat 
*)const " ([email protected]@@[email protected]@[email protected]@Z) 

。 。 。 。

1>C:\Users\Owner\documents\visual studio 2010\Projects\ParticleTracker\Debug\ParticleTracker.exe : fatal error LNK1120: 30 unresolved externals 

[刪除錯誤的,因爲有很多]

==========生成:0成功,1失敗,0上最新,0已跳過== ========

我不完全理解爲什麼我收到此錯誤。到目前爲止,我對Qt的問題很少,並已成功運行我的程序(在Visual Studio '10中,不使用qmake)。

我有雙重檢查,我已鏈接到其他依賴項部分中的所有可能的.lib文件,並且我不會丟失任何。

看起來好像這個錯誤只存在於多媒體模塊。我搜索了一個現有的多媒體.lib但找不到任何。

我曾嘗試以下cmd命令:

moc -I"%QTDIR%\include" -I"%QTDIR%\include\QtCore" -I"%QTDIR%\include\QtGui" -I"%QTDIR%\include\QtMultimedia" -omoc_VideoWidgetSurface.cpp VideoWidgetSurface.h 

但它沒有工作,我仍然收到錯誤。

任何幫助,非常感謝。如果您希望看到更多我的代碼或鏈接/包含內容,我也會分享這些內容。謝謝!

回答

0

您需要鏈接多媒體模塊。就像您與qtgui4.dll,qtcore4.lib等鏈接一樣,您必須鏈接到qtmultimedia4.lib。就這樣。

+0

Welp ...我沒有!在我的%QTDIR%\ lib文件夾中搜索,我看到的都是other.dll和.libs。 :/ –

+0

然後你沒有建立它。 –

+0

哈哈是的,我正在重新下載並重新構建Qt。這應該解決我所有的問題^ u ^ –