SOLVED - Qt5 qtmultimedia build error VS2010 x86
-
I'm trying to re-build Qt 5 from the Git source under Visual Studio 2010. But I'm running into the following error when compiling qtmultimedia. I'm clearly missing a Windows Dependancy, but I don't know what it is. I've been following the Wiki for building from git source. "Wiki- Building Qt 5 from Git":http://qt-project.org/wiki/Building_Qt_5_from_Git
My configure:
@configure -confirm-license -opensource -qt-sql-sqlite -debug-and-release -nomake tests -nomake examples -prefix D:\qt-5.0.1 -fully-process -openssl -I D:\OpenSSL-1.0.1e\include -L D:\OpenSSL-1.0.1e\lib\VC\static -mp -make webkit -no-opengl -I D:\icu-src\include -L D:\icu-src\lib -nomake qtwebkit-examples-and-demos -no-qml-debug@@INCLUDE=C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE;C:\Program Files\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE;C:\Program Files\Microsoft SDKs\Windows\v7.1\include;D:\icu-src\include;
LIB=C:\Program Files\Microsoft Visual Studio 10.0\VC\LIB;C:\Program Files\Microsoft Visual Studio 10.0\VC\ATLMFC\LIB;C:\Program Files\Microsoft SDKs\Windows\v7.1\lib;D:\icu-src\lib;
LIBPATH=C:\WINNT\Microsoft.NET\Framework\v4.0.30319;C:\WINNT\Microsoft.NET\Framework\v3.5;C:\Program Files\Microsoft Visual Studio 10.0\VC\LIB;C:\Program Files\Microsoft Visual Studio 10.0\VC\ATLMFC\LIB;D:\icu-src\lib;@The Error:
@"C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -f Makefile.Debug all
echo 2 /* CREATEPROCESS_MANIFEST_RESOURCE_ID / 24 / RT_MANIFEST */ "..\..\..\plugins\mediaservice\wmfengined.dll.embed.manifest">......\plugins\mediaservice\wmfengined.dll_manifest.rc
if not exist ......\plugins\mediaservice\wmfengined.dll if exist ......\plugins\mediaservice\wmfengined.dll.embed.manifest del ......\plugins\mediaservice\wmfengined.dll.embed.manifest
if exist ......\plugins\mediaservice\wmfengined.dll.embed.manifest copy /Y ......\plugins\mediaservice\wmfengined.dll.embed.manifest ......\plugins\mediaservice\wmfengined.dll_manifest.bak
link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /DLL /MANIFEST /MANIFESTFILE:......\plugins\mediaservice\wmfengined.dll.embed.manifest /OUT:......\plugins\mediaservice\wmfengined.dll @C:\DOCUME~1\jmcleod.US\LOCALS~1\Temp\nm324.tmp
Creating library ......\plugins\mediaservice\wmfengined.lib and object ......\plugins\mediaservice\wmfengined.exp
evr9videowindowcontrol.obj : error LNK2019: unresolved external symbol __imp__EndPaint@8 referenced in function "public: virtual void __thiscall Evr9VideoWindowControl::repaint(void)" (?repaint@Evr9VideoWindowControl@@UAEXXZ)
evr9videowindowcontrol.obj : error LNK2019: unresolved external symbol __imp__DeleteObject@4 referenced in function "public: virtual void __thiscall Evr9VideoWindowControl::repaint(void)" (?repaint@Evr9VideoWindowControl@@UAEXXZ)
evr9videowindowcontrol.obj : error LNK2019: unresolved external symbol __imp__Rectangle@20 referenced in function "public: virtual void __thiscall Evr9VideoWindowControl::repaint(void)" (?repaint@Evr9VideoWindowControl@@UAEXXZ)
evr9videowindowcontrol.obj : error LNK2019: unresolved external symbol __imp__SelectObject@8 referenced in function "public: virtual void __thiscall Evr9VideoWindowControl::repaint(void)" (?repaint@Evr9VideoWindowControl@@UAEXXZ)
evr9videowindowcontrol.obj : error LNK2019: unresolved external symbol __imp__CreateSolidBrush@4 referenced in function "public: virtual void __thiscall Evr9VideoWindowControl::repaint(void)" (?repaint@Evr9VideoWindowControl@@UAEXXZ)
evr9videowindowcontrol.obj : error LNK2019: unresolved external symbol __imp__CreatePen@12 referenced in function "public: virtual void __thiscall Evr9VideoWindowControl::repaint(void)" (?repaint@Evr9VideoWindowControl@@UAEXXZ)
evr9videowindowcontrol.obj : error LNK2019: unresolved external symbol __imp__BeginPaint@8 referenced in function "public: virtual void __thiscall Evr9VideoWindowControl::repaint(void)" (?repaint@Evr9VideoWindowControl@@UAEXXZ)
......\plugins\mediaservice\wmfengined.dll : fatal error LNK1120: 7 unresolved externals
@ -
I misinterpreted this to be 2 different ways to use OpenGL. Not that I needed to define -angle when defining -no-opengl
bq. In Windows, two options are available:
Use the ANGLE-library [code.google.com] to translate OpenGL calls into DirectX (default)
Use the native OpenGL driver for your graphics card bq.
-
Hello jmcleod,
what was the solution to your problem?
I get the same linker errors when building QT 5.0.2 with VC 2012 and Windows SDK 7.1. My configuration is:
@configure.bat -opensource -platform win32-msvc2012 -vcproj -debug-and-release -c++11 -shared -ltcg -qt-libjpeg -no-opengl -nomake examples -nomake tests@
Armin -
The root cause for these linker errors is that ANGLE is being used without having the DirectX SDK installed. This happens even with -no-opengl.
Without installing the DirectX SDK, this worked for me (32 bit release build), even though it stopped with different linker errors when trying to create Qt5Guid.lib (which I do not need):
configure -opensource -release -nomake qtwebkit -nomake qtquick1 -nomake qtmultimedia -no-qml-debug -nomake examples -nomake tests -no-openssl -no-icu -confirm-license -nomake qtwebkit-examples-and-demos -mp -platform win32-msvc2010 -opengl desktop
However, I would like to know if the resulting qtbase dlls are compatible due to "-opengl desktop" meaning "Use the native OpenGL driver for your graphics card" ?