Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: redefinition of 'const GUID& __mingw_uuidof() [with T = ID3D11VideoContext; #1417

Open
mhao1999 opened this issue Oct 29, 2022 · 0 comments

Comments

@mhao1999
Copy link

QtAV, Qt version and platform

Not sure QtAV version, git clone master branch on 10/29/2022
commit fdc613d
Qt version: 5.15.5
Windows 10, msys2/ming32

or commit id if not using release version

Reproduction steps

msys2 and mingw32 path are: C:\msys64\mingw32
qtav source code path is: C:\msys64\home\QtAV
I open a msys2 terminal windows with administrator role
and navigate to the folder: C:\msys64\home\QtAV\msys2
issue a command: makepkg-mingw -sCLf

I downloaded dependencies from https://sourceforge.net/projects/qtav/files/depends/QtAV-depends-windows-x86+x64.7z/download
and unzip and place files in /include and /lib to c:\msys64\mingw32\include and c:\msys64\mingw32\lib seperately and do:
export CPATH=c:/msys64/mingw32/include:$CPATH
export LIBRARY_PATH=c:/msys64/mingw32/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=c:/msys64/mingw32/lib:$LD_LIBRARY_PATH

Expected behavior

QtAV modules will be generated and I can use it in a qml project

Actual behavior

make failed, the details are as below (part):
C:/msys64/mingw32/include/libavutil/frame.h:279:13: note: declared here
279 | int64_t pkt_pts;
| ^~~~~~~
make[2]: *** [src/CMakeFiles/QtAV.dir/build.make:1379: src/CMakeFiles/QtAV.dir/codec/video/VideoDecoderD3D11.cpp.obj] Error 1
In file included from C:/msys64/mingw32/include/corecrt.h:10,
from C:/msys64/mingw32/include/crtdefs.h:10,
from C:/msys64/mingw32/include/stddef.h:7,
from C:/msys64/mingw32/lib/gcc/i686-w64-mingw32/12.2.0/include/stddef.h:1,
from C:/msys64/mingw32/include/c++/12.2.0/cstddef:50,
from C:/msys64/mingw32/include/QtCore/qglobal.h:46,
from C:/msys64/mingw32/include/QtCore/qnamespace.h:43,
from C:/msys64/mingw32/include/QtCore/qmargins.h:43,
from C:/msys64/mingw32/include/QtCore/qrect.h:43,
from C:/msys64/mingw32/include/QtCore/QRect:1,
from C:/msys64/home/QtAV/msys2/src/qtav/src/directx/D3D11VP.h:24,
from C:/msys64/home/QtAV/msys2/src/qtav/src/directx/D3D11VP.cpp:22:
C:/msys64/home/QtAV/msys2/src/qtav/src/directx/D3D11VP.cpp:29:1: error: redefinition of 'const GUID& __mingw_uuidof() [with T = ID3D11VideoContext; GUID = GUID]'
29 | __CRT_UUID_DECL(ID3D11VideoContext,0x61F21C45,0x3C0E,0x4a74,0x9C,0xEA,0x67,0x10,0x0D,0x9A,0xD5,0xE4)
| ^~~~~~~~~~~~~~~
C:/msys64/mingw32/include/d3d11.h:9577:1: note: 'const GUID& __mingw_uuidof() [with T = ID3D11VideoContext; GUID = GUID]' previously declared here
9577 | __CRT_UUID_DECL(ID3D11VideoContext, 0x61f21c45, 0x3c0e, 0x4a74, 0x9c,0xea, 0x67,0x10,0x0d,0x9a,0xd5,0xe4)
| ^~~~~~~~~~~~~~~
C:/msys64/home/QtAV/msys2/src/qtav/src/directx/D3D11VP.cpp:29:1: error: redefinition of 'const GUID& __mingw_uuidof() [with T = ID3D11VideoContext*; GUID = GUID]'
29 | __CRT_UUID_DECL(ID3D11VideoContext,0x61F21C45,0x3C0E,0x4a74,0x9C,0xEA,0x67,0x10,0x0D,0x9A,0xD5,0xE4)
| ^~~~~~~~~~~~~~~
C:/msys64/mingw32/include/d3d11.h:9577:1: note: 'const GUID& __mingw_uuidof() [with T = ID3D11VideoContext*; GUID = GUID]' previously declared here
9577 | __CRT_UUID_DECL(ID3D11VideoContext, 0x61f21c45, 0x3c0e, 0x4a74, 0x9c,0xea, 0x67,0x10,0x0d,0x9a,0xd5,0xe4)
| ^~~~~~~~~~~~~~~
C:/msys64/home/QtAV/msys2/src/qtav/src/directx/D3D11VP.cpp:30:1: error: redefinition of 'const GUID& __mingw_uuidof() [with T = ID3D11VideoDevice; GUID = GUID]'
30 | __CRT_UUID_DECL(ID3D11VideoDevice,0x10EC4D5B,0x975A,0x4689,0xB9,0xE4,0xD0,0xAA,0xC3,0x0F,0xE3,0x33)
| ^~~~~~~~~~~~~~~
C:/msys64/mingw32/include/d3d11.h:9009:1: note: 'const GUID& __mingw_uuidof() [with T = ID3D11VideoDevice; GUID = GUID]' previously declared here
9009 | __CRT_UUID_DECL(ID3D11VideoDevice, 0x10ec4d5b, 0x975a, 0x4689, 0xb9,0xe4, 0xd0,0xaa,0xc3,0x0f,0xe3,0x33)
| ^~~~~~~~~~~~~~~
C:/msys64/home/QtAV/msys2/src/qtav/src/directx/D3D11VP.cpp:30:1: error: redefinition of 'const GUID& __mingw_uuidof() [with T = ID3D11VideoDevice*; GUID = GUID]'
30 | __CRT_UUID_DECL(ID3D11VideoDevice,0x10EC4D5B,0x975A,0x4689,0xB9,0xE4,0xD0,0xAA,0xC3,0x0F,0xE3,0x33)
| ^~~~~~~~~~~~~~~
C:/msys64/mingw32/include/d3d11.h:9009:1: note: 'const GUID& __mingw_uuidof() [with T = ID3D11VideoDevice*; GUID = GUID]' previously declared here
9009 | __CRT_UUID_DECL(ID3D11VideoDevice, 0x10ec4d5b, 0x975a, 0x4689, 0xb9,0xe4, 0xd0,0xaa,0xc3,0x0f,0xe3,0x33)
| ^~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/QtAV.dir/build.make:1407: src/CMakeFiles/QtAV.dir/directx/D3D11VP.cpp.obj] Error 1
C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderDXVA.cpp: In member function 'virtual QtAV::VideoFrame QtAV::VideoDecoderDXVA::frame()':
C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderDXVA.cpp:192:33: warning: 'AVFrame::pkt_pts' is deprecated [-Wdeprecated-declarations]
192 | f.setTimestamp(d.frame->pkt_pts/1000.0);
| ^~~~~~~
In file included from C:/msys64/mingw32/include/libavcodec/avcodec.h:38,
from C:/msys64/mingw32/include/libavformat/avformat.h:319,
from C:/msys64/home/QtAV/msys2/src/qtav/src/QtAV/private/AVCompat.h:47,
from C:/msys64/home/QtAV/msys2/src/qtav/src/QtAV/private/AVDecoder_p.h:29,
from C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderFFmpegBase.h:26,
from C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderFFmpegHW.h:25,
from C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderD3D.h:27,
from C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderDXVA.cpp:26:
C:/msys64/mingw32/include/libavutil/frame.h:279:13: note: declared here
279 | int64_t pkt_pts;
| ^~~~~~~
C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderDXVA.cpp:192:33: warning: 'AVFrame::pkt_pts' is deprecated [-Wdeprecated-declarations]
192 | f.setTimestamp(d.frame->pkt_pts/1000.0);
| ^~~~~~~
C:/msys64/mingw32/include/libavutil/frame.h:279:13: note: declared here
279 | int64_t pkt_pts;
| ^~~~~~~
C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderDXVA.cpp:192:33: warning: 'AVFrame::pkt_pts' is deprecated [-Wdeprecated-declarations]
192 | f.setTimestamp(d.frame->pkt_pts/1000.0);
| ^~~~~~~
C:/msys64/mingw32/include/libavutil/frame.h:279:13: note: declared here
279 | int64_t pkt_pts;
| ^~~~~~~
C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderDXVA.cpp: In member function 'virtual bool QtAV::VideoDecoderDXVAPrivate::createDevice()':
C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderDXVA.cpp:272:36: warning: 'QString& QString::sprintf(const char*, ...)' is deprecated: Use asprintf(), arg() or QTextStream instead [-Wdeprecated-declarations]
272 | description = QString().sprintf("DXVA2 (%.*s, vendor %lu(%s), device %lu, revision %lu)",
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
273 | sizeof(d3dai.Description), d3dai.Description,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
274 | d3dai.VendorId, qPrintable(vendor), d3dai.DeviceId, d3dai.Revision);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from C:/msys64/mingw32/include/QtCore/qhashfunctions.h:44,
from C:/msys64/mingw32/include/QtCore/qvarlengtharray.h:47,
from C:/msys64/mingw32/include/QtCore/qmetatype.h:48,
from C:/msys64/mingw32/include/QtCore/QMetaType:1,
from C:/msys64/home/QtAV/msys2/src/qtav/src/QtAV/QtAV_Global.h:27,
from C:/msys64/home/QtAV/msys2/src/qtav/src/QtAV/AVError.h:24,
from C:/msys64/home/QtAV/msys2/src/qtav/src/QtAV/AVDecoder.h:25,
from C:/msys64/home/QtAV/msys2/src/qtav/src/QtAV/VideoDecoder.h:25,
from C:/msys64/home/QtAV/msys2/src/qtav/src/codec/video/VideoDecoderFFmpegBase.h:25:
C:/msys64/mingw32/include/QtCore/qstring.h:393:14: note: declared here
393 | QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3);
| ^~~~~~~
make[1]: *** [CMakeFiles/Makefile2:162: src/CMakeFiles/QtAV.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

Log file

set environment var QTAV_LOG=all or C++ api QtAV::setLogLevel(All) to enable log.

For Player and QMLPlayer example app, choose log level all in config page.

Sample files (optional)

NOTE: QtAV is no longer maintained, please use new sdk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant