使用 QT 5.12.3 从源代码构建 vlc-qt 时出错

发布于 2025-01-17 02:01:25 字数 25171 浏览 4 评论 0原文

我正在尝试使用 QT5.12.3 从源代码构建 vlc-qt (需要这个特定版本)

我尝试与 ninja 和 mingw makefile 一起使用,我得到了这些错误,并且我尝试了超过 10 个其他 vlc sdk 版本

源:

  1. vlc-qt 1.1.1 和 1.2.0 - https://github.com/bibiparrot/vlc-qt
  2. vlc 3.0.16 - http://download.videolan.org/pub/videolan/vlc/last/win64/
  3. qt 5.12.3 - https://download.qt.io/official_releases/qt/5.12/5.12 .3/

MinGW 错误: 完整日志 (https://pastebin.com/raw/9U9Z9BTt)

C:\vlc-qt\build>cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug ^  -DCMAKE_INSTALL_PREFIX="C:\vlc-qt\build" ^  -DQt5Core_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Core"   -DQt5Quick_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Quick"   -DQt5Widgets_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Widgets"   -DQt5QuickTest_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5QuickTest"   -DQt5Test_DIR="C:\Qt\Qt5.12.3\lib\cmake\Qt5Test"   -DLIBVLC_LIBRARY="C:\vlc-3.0.16\sdk\lib\libvlc.lib" ^  -DLIBVLCCORE_LIBRARY="C:\vlc-3.0.16\sdk\lib\libvlccore.lib" ^  -DLIBVLC_INCLUDE_DIR="C:\vlc-3.0.16\sdk\include"
-- Building VLC-Qt 1.2.0
-- Git revision: 7616e81
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Strawberry/c/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Strawberry/c/bin/g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build statically: OFF
-- Using Qt 5.12.3
-- Installing to system QML import path: OFF
-- Found LibVLC include-dir path: C:/vlc-3.0.16/sdk/include
-- Found LibVLC library path:C:/vlc-3.0.16/sdk/lib/libvlc.lib
-- Found LibVLCcore library path:C:/vlc-3.0.16/sdk/lib/libvlccore.lib
-- Configuring done
-- Generating done
-- Build files have been written to: C:/vlc-qt/build

C:\vlc-qt\build>mingw32-make
"C:\Program Files\CMake\bin\cmake.exe" -SC:\vlc-qt -BC:\vlc-qt\build --check-build-system CMakeFiles\Makefile.cmake 0
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_progress_start C:\vlc-qt\build\CMakeFiles C:\vlc-qt\build\\CMakeFiles\progress.marks
mingw32-make  -f CMakeFiles\Makefile2 all
mingw32-make[1]: Entering directory 'C:/vlc-qt/build'
mingw32-make  -f src\core\CMakeFiles\Core_autogen.dir\build.make src/core/CMakeFiles/Core_autogen.dir/depend
mingw32-make[2]: Entering directory 'C:/vlc-qt/build'
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_depends "MinGW Makefiles" C:\vlc-qt C:\vlc-qt\src\core C:\vlc-qt\build C:\vlc-qt\build\src\core C:\vlc-qt\build\src\core\CMakeFiles\Core_autogen.dir\DependInfo.cmake --color=
Scanning dependencies of target Core_autogen
mingw32-make[2]: Leaving directory 'C:/vlc-qt/build'
mingw32-make  -f src\core\CMakeFiles\Core_autogen.dir\build.make src/core/CMakeFiles/Core_autogen.dir/build
mingw32-make[2]: Entering directory 'C:/vlc-qt/build'
[  1%] Automatic MOC and UIC for target Core
cd /d C:\vlc-qt\build\src\core && "C:\Program Files\CMake\bin\cmake.exe" -E cmake_autogen C:/vlc-qt/build/src/core/CMakeFiles/Core_autogen.dir/AutogenInfo.json Debug
mingw32-make[2]: Leaving directory 'C:/vlc-qt/build'
[  1%] Built target Core_autogen
mingw32-make  -f src\core\CMakeFiles\Core.dir\build.make src/core/CMakeFiles/Core.dir/depend
mingw32-make[2]: Entering directory 'C:/vlc-qt/build'
[  2%] Generating VLCQtCore.obj
cd /d C:\vlc-qt\src\core && C:\Strawberry\c\bin\windres.exe -i C:/vlc-qt/build/src/core/VLCQtCore.rc -o C:/vlc-qt/build/src/core/VLCQtCore.obj
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_depends "MinGW Makefiles" C:\vlc-qt C:\vlc-qt\src\core C:\vlc-qt\build C:\vlc-qt\build\src\core C:\vlc-qt\build\src\core\CMakeFiles\Core.dir\DependInfo.cmake --color=
Scanning dependencies of target Core
mingw32-make[2]: Leaving directory 'C:/vlc-qt/build'
mingw32-make  -f src\core\CMakeFiles\Core.dir\build.make src/core/CMakeFiles/Core.dir/build
mingw32-make[2]: Entering directory 'C:/vlc-qt/build'
[  3%] Building CXX object src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Core_autogen\mocs_compilation.cpp.obj -c C:\vlc-qt\build\src\core\Core_autogen\mocs_compilation.cpp
[  4%] Building CXX object src/core/CMakeFiles/Core.dir/AbstractVideoFrame.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\AbstractVideoFrame.cpp.obj -c C:\vlc-qt\src\core\AbstractVideoFrame.cpp
[  5%] Building CXX object src/core/CMakeFiles/Core.dir/AbstractVideoStream.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\AbstractVideoStream.cpp.obj -c C:\vlc-qt\src\core\AbstractVideoStream.cpp
[  6%] Building CXX object src/core/CMakeFiles/Core.dir/Audio.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Audio.cpp.obj -c C:\vlc-qt\src\core\Audio.cpp
[  7%] Building CXX object src/core/CMakeFiles/Core.dir/Common.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Common.cpp.obj -c C:\vlc-qt\src\core\Common.cpp
[  9%] Building CXX object src/core/CMakeFiles/Core.dir/Enums.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Enums.cpp.obj -c C:\vlc-qt\src\core\Enums.cpp
[ 10%] Building CXX object src/core/CMakeFiles/Core.dir/Error.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Error.cpp.obj -c C:\vlc-qt\src\core\Error.cpp
[ 11%] Building CXX object src/core/CMakeFiles/Core.dir/Instance.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Instance.cpp.obj -c C:\vlc-qt\src\core\Instance.cpp
[ 12%] Building CXX object src/core/CMakeFiles/Core.dir/Media.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Media.cpp.obj -c C:\vlc-qt\src\core\Media.cpp
C:\vlc-qt\src\core\Media.cpp: In static member function 'static void VlcMedia::libvlc_callback(const libvlc_event_t*, void*)':
C:\vlc-qt\src\core\Media.cpp:363:74: warning: 'void VlcMedia::parsedChanged(int)' is deprecated [-Wdeprecated-declarations]
         emit core->parsedChanged(event->u.media_parsed_changed.new_status);
                                                                          ^
In file included from C:\vlc-qt\src\core\Media.cpp:26:
C:/vlc-qt/src/core/Media.h:321:28: note: declared here
     Q_DECL_DEPRECATED void parsedChanged(int status);
                            ^~~~~~~~~~~~~
[ 13%] Building CXX object src/core/CMakeFiles/Core.dir/MediaList.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\MediaList.cpp.obj -c C:\vlc-qt\src\core\MediaList.cpp
[ 14%] Building CXX object src/core/CMakeFiles/Core.dir/MediaListPlayer.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\MediaListPlayer.cpp.obj -c C:\vlc-qt\src\core\MediaListPlayer.cpp
[ 15%] Building CXX object src/core/CMakeFiles/Core.dir/MediaPlayer.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\MediaPlayer.cpp.obj -c C:\vlc-qt\src\core\MediaPlayer.cpp
[ 17%] Building CXX object src/core/CMakeFiles/Core.dir/MetaManager.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\MetaManager.cpp.obj -c C:\vlc-qt\src\core\MetaManager.cpp
[ 18%] Building CXX object src/core/CMakeFiles/Core.dir/ModuleDescription.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\ModuleDescription.cpp.obj -c C:\vlc-qt\src\core\ModuleDescription.cpp
[ 19%] Building CXX object src/core/CMakeFiles/Core.dir/TrackModel.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\TrackModel.cpp.obj -c C:\vlc-qt\src\core\TrackModel.cpp
C:\vlc-qt\src\core\TrackModel.cpp: In copy constructor 'VlcTrackModel::VlcTrackModel(const VlcTrackModel&)':
C:\vlc-qt\src\core\TrackModel.cpp:29:1: warning: base class 'class QAbstractListModel' should be explicitly initialized in the copy constructor [-Wextra]
 VlcTrackModel::VlcTrackModel(const VlcTrackModel &other)
 ^~~~~~~~~~~~~
[ 20%] Building CXX object src/core/CMakeFiles/Core.dir/Video.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Video.cpp.obj -c C:\vlc-qt\src\core\Video.cpp
[ 21%] Building CXX object src/core/CMakeFiles/Core.dir/VideoStream.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\VideoStream.cpp.obj -c C:\vlc-qt\src\core\VideoStream.cpp
[ 22%] Building CXX object src/core/CMakeFiles/Core.dir/YUVVideoFrame.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\YUVVideoFrame.cpp.obj -c C:\vlc-qt\src\core\YUVVideoFrame.cpp
[ 23%] Building CXX object src/core/CMakeFiles/Core.dir/VideoFrame.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -Wno-deprecated -o CMakeFiles\Core.dir\VideoFrame.cpp.obj -c C:\vlc-qt\src\core\VideoFrame.cpp
[ 25%] Building CXX object src/core/CMakeFiles/Core.dir/VideoMemoryStream.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -Wno-deprecated -o CMakeFiles\Core.dir\VideoMemoryStream.cpp.obj -c C:\vlc-qt\src\core\VideoMemoryStream.cpp
C:\vlc-qt\src\core\VideoMemoryStream.cpp:27:56: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declaration
]
 static inline VlcVideoMemoryStream *p_this(void *opaque) { return static_cast<VlcVideoMemoryStream *>(opaque); }
                                                        ^
In file included from C:\vlc-qt\src\core\VideoMemoryStream.cpp:25:
C:/vlc-qt/src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
C:\vlc-qt\src\core\VideoMemoryStream.cpp: In function 'VlcVideoMemoryStream* p_this(void*)':
C:\vlc-qt\src\core\VideoMemoryStream.cpp:27:100: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void *opaque) { return static_cast<VlcVideoMemoryStream *>(opaque); }
                                                                                                    ^
In file included from C:\vlc-qt\src\core\VideoMemoryStream.cpp:25:
C:/vlc-qt/src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
C:\vlc-qt\src\core\VideoMemoryStream.cpp: At global scope:
C:\vlc-qt\src\core\VideoMemoryStream.cpp:28:57: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declaration
]
 static inline VlcVideoMemoryStream *p_this(void **opaque) { return static_cast<VlcVideoMemoryStream *>(*opaque); }
                                                         ^
In file included from C:\vlc-qt\src\core\VideoMemoryStream.cpp:25:
C:/vlc-qt/src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
C:\vlc-qt\src\core\VideoMemoryStream.cpp: In function 'VlcVideoMemoryStream* p_this(void**)':
C:\vlc-qt\src\core\VideoMemoryStream.cpp:28:101: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void **opaque) { return static_cast<VlcVideoMemoryStream *>(*opaque); }
                                                                                                     ^
In file included from C:\vlc-qt\src\core\VideoMemoryStream.cpp:25:
C:/vlc-qt/src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
[ 26%] Building CXX object src/core/CMakeFiles/Core.dir/Equalizer.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Equalizer.cpp.obj -c C:\vlc-qt\src\core\Equalizer.cpp
[ 27%] Building C object src/core/CMakeFiles/Core.dir/compat/asprintf.c.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\gcc.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_C.rsp -g -Wall -Wextra -o CMakeFiles\Core.dir\compat\asprintf.c.obj -c C:\vlc-qt\src\core\compat\asprintf.c
[ 28%] Building C object src/core/CMakeFiles/Core.dir/compat/vasprintf.c.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\gcc.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_C.rsp -g -Wall -Wextra -o CMakeFiles\Core.dir\compat\vasprintf.c.obj -c C:\vlc-qt\src\core\compat\vasprintf.c
[ 29%] Linking CXX shared library libVLCQtCored.dll
cd /d C:\vlc-qt\build\src\core && "C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\Core.dir\link.txt --verbose=1
"C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\Core.dir/objects.a

忍者错误:完整日志 (https://pastebin.com/raw/Fxidf7hi)

C:\vlc-qt\build>cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug ^  -DCMAKE_INSTALL_PREFIX="C:\vlc-qt\build" ^  -DQt5Core_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Core"   -DQt5Quick_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Quick"   -DQt5Widgets_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Widgets"   -DQt5QuickTest_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5QuickTest"   -DQt5Test_DIR="C:\Qt\Qt5.12.3\lib\cmake\Qt5Test"   -DLIBVLC_LIBRARY="C:\vlc-3.0.16\sdk\lib\libvlc.lib" ^  -DLIBVLCCORE_LIBRARY="C:\vlc-3.0.16\sdk\lib\libvlccore.lib" ^  -DLIBVLC_INCLUDE_DIR="C:\vlc-3.0.16\sdk\include"
-- Building VLC-Qt 1.2.0
-- Git revision: 7616e81
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Strawberry/c/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Strawberry/c/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build statically: OFF
-- Using Qt 5.12.3
-- Installing to system QML import path: OFF
-- Found LibVLC include-dir path: C:/vlc-3.0.16/sdk/include
-- Found LibVLC library path:C:/vlc-3.0.16/sdk/lib/libvlc.lib
-- Found LibVLCcore library path:C:/vlc-3.0.16/sdk/lib/libvlccore.lib
-- Configuring done
-- Generating done
-- Build files have been written to: C:/vlc-qt/build

C:\vlc-qt\build>ninja
[10/88] Building CXX object src/core/CMakeFiles/Core.dir/TrackModel.cpp.obj
../src/core/TrackModel.cpp: In copy constructor 'VlcTrackModel::VlcTrackModel(const VlcTrackModel&)':
../src/core/TrackModel.cpp:29:1: warning: base class 'class QAbstractListModel' should be explicitly initialized in the copy constructor [-Wextra]
 VlcTrackModel::VlcTrackModel(const VlcTrackModel &other)
 ^~~~~~~~~~~~~
[17/88] Building CXX object src/core/CMakeFiles/Core.dir/Media.cpp.obj
../src/core/Media.cpp: In static member function 'static void VlcMedia::libvlc_callback(const libvlc_event_t*, void*)':
../src/core/Media.cpp:363:74: warning: 'void VlcMedia::parsedChanged(int)' is deprecated [-Wdeprecated-declarations]
         emit core->parsedChanged(event->u.media_parsed_changed.new_status);
                                                                          ^
In file included from ../src/core/Media.cpp:26:
../src/core/Media.h:321:28: note: declared here
     Q_DECL_DEPRECATED void parsedChanged(int status);
                            ^~~~~~~~~~~~~
[25/88] Building CXX object src/core/CMakeFiles/Core.dir/VideoMemoryStream.cpp.obj
../src/core/VideoMemoryStream.cpp:27:56: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void *opaque) { return static_cast<VlcVideoMemoryStream *>(opaque); }
                                                        ^
In file included from ../src/core/VideoMemoryStream.cpp:25:
../src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
../src/core/VideoMemoryStream.cpp: In function 'VlcVideoMemoryStream* p_this(void*)':
../src/core/VideoMemoryStream.cpp:27:100: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void *opaque) { return static_cast<VlcVideoMemoryStream *>(opaque); }
                                                                                                    ^
In file included from ../src/core/VideoMemoryStream.cpp:25:
../src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
../src/core/VideoMemoryStream.cpp: At global scope:
../src/core/VideoMemoryStream.cpp:28:57: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void **opaque) { return static_cast<VlcVideoMemoryStream *>(*opaque); }
                                                         ^
In file included from ../src/core/VideoMemoryStream.cpp:25:
../src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
../src/core/VideoMemoryStream.cpp: In function 'VlcVideoMemoryStream* p_this(void**)':
../src/core/VideoMemoryStream.cpp:28:101: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void **opaque) { return static_cast<VlcVideoMemoryStream *>(*opaque); }
                                                                                                     ^
In file included from ../src/core/VideoMemoryStream.cpp:25:
../src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
[26/88] Linking CXX shared library src\core\libVLCQtCored.dll
FAILED: src/core/libVLCQtCored.dll src/core/libVLCQtCored.dll.a
cmd.exe /C "cd . && C:\Strawberry\c\bin\c++.exe -g -Wall -Wextra  -static-libgcc -static-libstdc++ -shared -o src\core\libVLCQtCored.dll -Wl,--out-implib,src\core\libVLCQtCored.dll.a -Wl,--major-image-version,1,--minor-image-version,2 src/core/VLCQtCore.obj src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj src/core/CMakeFiles/Core.dir/AbstractVideoFrame.cpp.obj src/core/CMakeFiles/Core.dir/AbstractVideoStream.cpp.obj src/core/CMakeFiles/Core.dir/Audio.cpp.obj src/core/CMakeFiles/Core.dir/Common.cpp.obj src/core/CMakeFiles/Core.dir/Enums.cpp.obj src/core/CMakeFiles/Core.dir/Error.cpp.obj src/core/CMakeFiles/Core.dir/Instance.cpp.obj src/core/CMakeFiles/Core.dir/Media.cpp.obj src/core/CMakeFiles/Core.dir/MediaList.cpp.obj src/core/CMakeFiles/Core.dir/MediaListPlayer.cpp.obj src/core/CMakeFiles/Core.dir/MediaPlayer.cpp.obj src/core/CMakeFiles/Core.dir/MetaManager.cpp.obj src/core/CMakeFiles/Core.dir/ModuleDescription.cpp.obj src/core/CMakeFiles/Core.dir/TrackModel.cpp.obj src/core/CMakeFiles/Core.dir/Video.cpp.obj src/core/CMakeFiles/Core.dir/VideoStream.cpp.obj src/core/CMakeFiles/Core.dir/YUVVideoFrame.cpp.obj src/core/CMakeFiles/Core.dir/VideoFrame.cpp.obj src/core/CMakeFiles/Core.dir/VideoMemoryStream.cpp.obj src/core/CMakeFiles/Core.dir/Equalizer.cpp.obj src/core/CMakeFiles/Core.dir/compat/asprintf.c.obj src/core/CMakeFiles/Core.dir/compat/vasprintf.c.obj  C:/Qt/Qt5.12.3/5.12.3/msvc2017_64/lib/Qt5Cored.lib  C:/vlc-3.0.16/sdk/lib/libvlc.lib  C:/vlc-3.0.16/sdk/lib/libvlccore.lib  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj: in function `VlcAudio::metaObject() const':
C:\vlc-qt\build/src/core/Core_autogen/EWIEGA46WW/moc_Audio.cpp:153: undefined reference to `__imp__ZNK11QObjectData17dynamicMetaObjectEv'
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj: in function `VlcAudio::qt_metacast(char const*)':
C:\vlc-qt\build/src/core/Core_autogen/EWIEGA46WW/moc_Audio.cpp:161: undefined reference to `__imp__ZN7QObject11qt_metacastEPKc'
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj: in function `VlcAudio::qt_metacall(QMetaObject::Call, int, void**)':
C:\vlc-qt\build/src/core/Core_autogen/EWIEGA46WW/moc_Audio.cpp:166: undefined reference to `__imp__ZN7QObject11qt_metacallEN11QMetaObject4CallEiPPv'

i am trying to build vlc-qt from source with the QT5.12.3 (need this specific version)

I tried to use with ninja and mingw makefiles and i get those error and i tried with more then 10 other vlc sdk versions

Source:

  1. vlc-qt 1.1.1 and 1.2.0 - https://github.com/bibiparrot/vlc-qt
  2. vlc 3.0.16 - http://download.videolan.org/pub/videolan/vlc/last/win64/
  3. qt 5.12.3 - https://download.qt.io/official_releases/qt/5.12/5.12.3/

Errors with MinGW: full log (https://pastebin.com/raw/9U9Z9BTt)

C:\vlc-qt\build>cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug ^  -DCMAKE_INSTALL_PREFIX="C:\vlc-qt\build" ^  -DQt5Core_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Core"   -DQt5Quick_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Quick"   -DQt5Widgets_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Widgets"   -DQt5QuickTest_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5QuickTest"   -DQt5Test_DIR="C:\Qt\Qt5.12.3\lib\cmake\Qt5Test"   -DLIBVLC_LIBRARY="C:\vlc-3.0.16\sdk\lib\libvlc.lib" ^  -DLIBVLCCORE_LIBRARY="C:\vlc-3.0.16\sdk\lib\libvlccore.lib" ^  -DLIBVLC_INCLUDE_DIR="C:\vlc-3.0.16\sdk\include"
-- Building VLC-Qt 1.2.0
-- Git revision: 7616e81
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Strawberry/c/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Strawberry/c/bin/g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build statically: OFF
-- Using Qt 5.12.3
-- Installing to system QML import path: OFF
-- Found LibVLC include-dir path: C:/vlc-3.0.16/sdk/include
-- Found LibVLC library path:C:/vlc-3.0.16/sdk/lib/libvlc.lib
-- Found LibVLCcore library path:C:/vlc-3.0.16/sdk/lib/libvlccore.lib
-- Configuring done
-- Generating done
-- Build files have been written to: C:/vlc-qt/build

C:\vlc-qt\build>mingw32-make
"C:\Program Files\CMake\bin\cmake.exe" -SC:\vlc-qt -BC:\vlc-qt\build --check-build-system CMakeFiles\Makefile.cmake 0
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_progress_start C:\vlc-qt\build\CMakeFiles C:\vlc-qt\build\\CMakeFiles\progress.marks
mingw32-make  -f CMakeFiles\Makefile2 all
mingw32-make[1]: Entering directory 'C:/vlc-qt/build'
mingw32-make  -f src\core\CMakeFiles\Core_autogen.dir\build.make src/core/CMakeFiles/Core_autogen.dir/depend
mingw32-make[2]: Entering directory 'C:/vlc-qt/build'
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_depends "MinGW Makefiles" C:\vlc-qt C:\vlc-qt\src\core C:\vlc-qt\build C:\vlc-qt\build\src\core C:\vlc-qt\build\src\core\CMakeFiles\Core_autogen.dir\DependInfo.cmake --color=
Scanning dependencies of target Core_autogen
mingw32-make[2]: Leaving directory 'C:/vlc-qt/build'
mingw32-make  -f src\core\CMakeFiles\Core_autogen.dir\build.make src/core/CMakeFiles/Core_autogen.dir/build
mingw32-make[2]: Entering directory 'C:/vlc-qt/build'
[  1%] Automatic MOC and UIC for target Core
cd /d C:\vlc-qt\build\src\core && "C:\Program Files\CMake\bin\cmake.exe" -E cmake_autogen C:/vlc-qt/build/src/core/CMakeFiles/Core_autogen.dir/AutogenInfo.json Debug
mingw32-make[2]: Leaving directory 'C:/vlc-qt/build'
[  1%] Built target Core_autogen
mingw32-make  -f src\core\CMakeFiles\Core.dir\build.make src/core/CMakeFiles/Core.dir/depend
mingw32-make[2]: Entering directory 'C:/vlc-qt/build'
[  2%] Generating VLCQtCore.obj
cd /d C:\vlc-qt\src\core && C:\Strawberry\c\bin\windres.exe -i C:/vlc-qt/build/src/core/VLCQtCore.rc -o C:/vlc-qt/build/src/core/VLCQtCore.obj
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_depends "MinGW Makefiles" C:\vlc-qt C:\vlc-qt\src\core C:\vlc-qt\build C:\vlc-qt\build\src\core C:\vlc-qt\build\src\core\CMakeFiles\Core.dir\DependInfo.cmake --color=
Scanning dependencies of target Core
mingw32-make[2]: Leaving directory 'C:/vlc-qt/build'
mingw32-make  -f src\core\CMakeFiles\Core.dir\build.make src/core/CMakeFiles/Core.dir/build
mingw32-make[2]: Entering directory 'C:/vlc-qt/build'
[  3%] Building CXX object src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Core_autogen\mocs_compilation.cpp.obj -c C:\vlc-qt\build\src\core\Core_autogen\mocs_compilation.cpp
[  4%] Building CXX object src/core/CMakeFiles/Core.dir/AbstractVideoFrame.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\AbstractVideoFrame.cpp.obj -c C:\vlc-qt\src\core\AbstractVideoFrame.cpp
[  5%] Building CXX object src/core/CMakeFiles/Core.dir/AbstractVideoStream.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\AbstractVideoStream.cpp.obj -c C:\vlc-qt\src\core\AbstractVideoStream.cpp
[  6%] Building CXX object src/core/CMakeFiles/Core.dir/Audio.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Audio.cpp.obj -c C:\vlc-qt\src\core\Audio.cpp
[  7%] Building CXX object src/core/CMakeFiles/Core.dir/Common.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Common.cpp.obj -c C:\vlc-qt\src\core\Common.cpp
[  9%] Building CXX object src/core/CMakeFiles/Core.dir/Enums.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Enums.cpp.obj -c C:\vlc-qt\src\core\Enums.cpp
[ 10%] Building CXX object src/core/CMakeFiles/Core.dir/Error.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Error.cpp.obj -c C:\vlc-qt\src\core\Error.cpp
[ 11%] Building CXX object src/core/CMakeFiles/Core.dir/Instance.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Instance.cpp.obj -c C:\vlc-qt\src\core\Instance.cpp
[ 12%] Building CXX object src/core/CMakeFiles/Core.dir/Media.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Media.cpp.obj -c C:\vlc-qt\src\core\Media.cpp
C:\vlc-qt\src\core\Media.cpp: In static member function 'static void VlcMedia::libvlc_callback(const libvlc_event_t*, void*)':
C:\vlc-qt\src\core\Media.cpp:363:74: warning: 'void VlcMedia::parsedChanged(int)' is deprecated [-Wdeprecated-declarations]
         emit core->parsedChanged(event->u.media_parsed_changed.new_status);
                                                                          ^
In file included from C:\vlc-qt\src\core\Media.cpp:26:
C:/vlc-qt/src/core/Media.h:321:28: note: declared here
     Q_DECL_DEPRECATED void parsedChanged(int status);
                            ^~~~~~~~~~~~~
[ 13%] Building CXX object src/core/CMakeFiles/Core.dir/MediaList.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\MediaList.cpp.obj -c C:\vlc-qt\src\core\MediaList.cpp
[ 14%] Building CXX object src/core/CMakeFiles/Core.dir/MediaListPlayer.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\MediaListPlayer.cpp.obj -c C:\vlc-qt\src\core\MediaListPlayer.cpp
[ 15%] Building CXX object src/core/CMakeFiles/Core.dir/MediaPlayer.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\MediaPlayer.cpp.obj -c C:\vlc-qt\src\core\MediaPlayer.cpp
[ 17%] Building CXX object src/core/CMakeFiles/Core.dir/MetaManager.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\MetaManager.cpp.obj -c C:\vlc-qt\src\core\MetaManager.cpp
[ 18%] Building CXX object src/core/CMakeFiles/Core.dir/ModuleDescription.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\ModuleDescription.cpp.obj -c C:\vlc-qt\src\core\ModuleDescription.cpp
[ 19%] Building CXX object src/core/CMakeFiles/Core.dir/TrackModel.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\TrackModel.cpp.obj -c C:\vlc-qt\src\core\TrackModel.cpp
C:\vlc-qt\src\core\TrackModel.cpp: In copy constructor 'VlcTrackModel::VlcTrackModel(const VlcTrackModel&)':
C:\vlc-qt\src\core\TrackModel.cpp:29:1: warning: base class 'class QAbstractListModel' should be explicitly initialized in the copy constructor [-Wextra]
 VlcTrackModel::VlcTrackModel(const VlcTrackModel &other)
 ^~~~~~~~~~~~~
[ 20%] Building CXX object src/core/CMakeFiles/Core.dir/Video.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Video.cpp.obj -c C:\vlc-qt\src\core\Video.cpp
[ 21%] Building CXX object src/core/CMakeFiles/Core.dir/VideoStream.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\VideoStream.cpp.obj -c C:\vlc-qt\src\core\VideoStream.cpp
[ 22%] Building CXX object src/core/CMakeFiles/Core.dir/YUVVideoFrame.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\YUVVideoFrame.cpp.obj -c C:\vlc-qt\src\core\YUVVideoFrame.cpp
[ 23%] Building CXX object src/core/CMakeFiles/Core.dir/VideoFrame.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -Wno-deprecated -o CMakeFiles\Core.dir\VideoFrame.cpp.obj -c C:\vlc-qt\src\core\VideoFrame.cpp
[ 25%] Building CXX object src/core/CMakeFiles/Core.dir/VideoMemoryStream.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -Wno-deprecated -o CMakeFiles\Core.dir\VideoMemoryStream.cpp.obj -c C:\vlc-qt\src\core\VideoMemoryStream.cpp
C:\vlc-qt\src\core\VideoMemoryStream.cpp:27:56: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declaration
]
 static inline VlcVideoMemoryStream *p_this(void *opaque) { return static_cast<VlcVideoMemoryStream *>(opaque); }
                                                        ^
In file included from C:\vlc-qt\src\core\VideoMemoryStream.cpp:25:
C:/vlc-qt/src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
C:\vlc-qt\src\core\VideoMemoryStream.cpp: In function 'VlcVideoMemoryStream* p_this(void*)':
C:\vlc-qt\src\core\VideoMemoryStream.cpp:27:100: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void *opaque) { return static_cast<VlcVideoMemoryStream *>(opaque); }
                                                                                                    ^
In file included from C:\vlc-qt\src\core\VideoMemoryStream.cpp:25:
C:/vlc-qt/src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
C:\vlc-qt\src\core\VideoMemoryStream.cpp: At global scope:
C:\vlc-qt\src\core\VideoMemoryStream.cpp:28:57: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declaration
]
 static inline VlcVideoMemoryStream *p_this(void **opaque) { return static_cast<VlcVideoMemoryStream *>(*opaque); }
                                                         ^
In file included from C:\vlc-qt\src\core\VideoMemoryStream.cpp:25:
C:/vlc-qt/src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
C:\vlc-qt\src\core\VideoMemoryStream.cpp: In function 'VlcVideoMemoryStream* p_this(void**)':
C:\vlc-qt\src\core\VideoMemoryStream.cpp:28:101: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void **opaque) { return static_cast<VlcVideoMemoryStream *>(*opaque); }
                                                                                                     ^
In file included from C:\vlc-qt\src\core\VideoMemoryStream.cpp:25:
C:/vlc-qt/src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
[ 26%] Building CXX object src/core/CMakeFiles/Core.dir/Equalizer.cpp.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\g++.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_CXX.rsp -g -Wall -Wextra -std=gnu++11 -o CMakeFiles\Core.dir\Equalizer.cpp.obj -c C:\vlc-qt\src\core\Equalizer.cpp
[ 27%] Building C object src/core/CMakeFiles/Core.dir/compat/asprintf.c.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\gcc.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_C.rsp -g -Wall -Wextra -o CMakeFiles\Core.dir\compat\asprintf.c.obj -c C:\vlc-qt\src\core\compat\asprintf.c
[ 28%] Building C object src/core/CMakeFiles/Core.dir/compat/vasprintf.c.obj
cd /d C:\vlc-qt\build\src\core && C:\Strawberry\c\bin\gcc.exe -DCore_EXPORTS -DQT_CORE_LIB -DQT_SHARED -DVLCQT_CORE_LIBRARY -D_REENTRANT @CMakeFiles/Core.dir/includes_C.rsp -g -Wall -Wextra -o CMakeFiles\Core.dir\compat\vasprintf.c.obj -c C:\vlc-qt\src\core\compat\vasprintf.c
[ 29%] Linking CXX shared library libVLCQtCored.dll
cd /d C:\vlc-qt\build\src\core && "C:\Program Files\CMake\bin\cmake.exe" -E cmake_link_script CMakeFiles\Core.dir\link.txt --verbose=1
"C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\Core.dir/objects.a

Errors with ninja: full log (https://pastebin.com/raw/Fxidf7hi)

C:\vlc-qt\build>cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug ^  -DCMAKE_INSTALL_PREFIX="C:\vlc-qt\build" ^  -DQt5Core_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Core"   -DQt5Quick_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Quick"   -DQt5Widgets_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5Widgets"   -DQt5QuickTest_DIR="C:\Qt\Qt5.12.3\5.12.3\msvc2017_64\lib\cmake\Qt5QuickTest"   -DQt5Test_DIR="C:\Qt\Qt5.12.3\lib\cmake\Qt5Test"   -DLIBVLC_LIBRARY="C:\vlc-3.0.16\sdk\lib\libvlc.lib" ^  -DLIBVLCCORE_LIBRARY="C:\vlc-3.0.16\sdk\lib\libvlccore.lib" ^  -DLIBVLC_INCLUDE_DIR="C:\vlc-3.0.16\sdk\include"
-- Building VLC-Qt 1.2.0
-- Git revision: 7616e81
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Strawberry/c/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Strawberry/c/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build statically: OFF
-- Using Qt 5.12.3
-- Installing to system QML import path: OFF
-- Found LibVLC include-dir path: C:/vlc-3.0.16/sdk/include
-- Found LibVLC library path:C:/vlc-3.0.16/sdk/lib/libvlc.lib
-- Found LibVLCcore library path:C:/vlc-3.0.16/sdk/lib/libvlccore.lib
-- Configuring done
-- Generating done
-- Build files have been written to: C:/vlc-qt/build

C:\vlc-qt\build>ninja
[10/88] Building CXX object src/core/CMakeFiles/Core.dir/TrackModel.cpp.obj
../src/core/TrackModel.cpp: In copy constructor 'VlcTrackModel::VlcTrackModel(const VlcTrackModel&)':
../src/core/TrackModel.cpp:29:1: warning: base class 'class QAbstractListModel' should be explicitly initialized in the copy constructor [-Wextra]
 VlcTrackModel::VlcTrackModel(const VlcTrackModel &other)
 ^~~~~~~~~~~~~
[17/88] Building CXX object src/core/CMakeFiles/Core.dir/Media.cpp.obj
../src/core/Media.cpp: In static member function 'static void VlcMedia::libvlc_callback(const libvlc_event_t*, void*)':
../src/core/Media.cpp:363:74: warning: 'void VlcMedia::parsedChanged(int)' is deprecated [-Wdeprecated-declarations]
         emit core->parsedChanged(event->u.media_parsed_changed.new_status);
                                                                          ^
In file included from ../src/core/Media.cpp:26:
../src/core/Media.h:321:28: note: declared here
     Q_DECL_DEPRECATED void parsedChanged(int status);
                            ^~~~~~~~~~~~~
[25/88] Building CXX object src/core/CMakeFiles/Core.dir/VideoMemoryStream.cpp.obj
../src/core/VideoMemoryStream.cpp:27:56: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void *opaque) { return static_cast<VlcVideoMemoryStream *>(opaque); }
                                                        ^
In file included from ../src/core/VideoMemoryStream.cpp:25:
../src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
../src/core/VideoMemoryStream.cpp: In function 'VlcVideoMemoryStream* p_this(void*)':
../src/core/VideoMemoryStream.cpp:27:100: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void *opaque) { return static_cast<VlcVideoMemoryStream *>(opaque); }
                                                                                                    ^
In file included from ../src/core/VideoMemoryStream.cpp:25:
../src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
../src/core/VideoMemoryStream.cpp: At global scope:
../src/core/VideoMemoryStream.cpp:28:57: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void **opaque) { return static_cast<VlcVideoMemoryStream *>(*opaque); }
                                                         ^
In file included from ../src/core/VideoMemoryStream.cpp:25:
../src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
../src/core/VideoMemoryStream.cpp: In function 'VlcVideoMemoryStream* p_this(void**)':
../src/core/VideoMemoryStream.cpp:28:101: warning: 'VlcVideoMemoryStream' is deprecated [-Wdeprecated-declarations]
 static inline VlcVideoMemoryStream *p_this(void **opaque) { return static_cast<VlcVideoMemoryStream *>(*opaque); }
                                                                                                     ^
In file included from ../src/core/VideoMemoryStream.cpp:25:
../src/core/VideoMemoryStream.h:55:43: note: declared here
 class Q_DECL_DEPRECATED VLCQT_CORE_EXPORT VlcVideoMemoryStream
                                           ^~~~~~~~~~~~~~~~~~~~
[26/88] Linking CXX shared library src\core\libVLCQtCored.dll
FAILED: src/core/libVLCQtCored.dll src/core/libVLCQtCored.dll.a
cmd.exe /C "cd . && C:\Strawberry\c\bin\c++.exe -g -Wall -Wextra  -static-libgcc -static-libstdc++ -shared -o src\core\libVLCQtCored.dll -Wl,--out-implib,src\core\libVLCQtCored.dll.a -Wl,--major-image-version,1,--minor-image-version,2 src/core/VLCQtCore.obj src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj src/core/CMakeFiles/Core.dir/AbstractVideoFrame.cpp.obj src/core/CMakeFiles/Core.dir/AbstractVideoStream.cpp.obj src/core/CMakeFiles/Core.dir/Audio.cpp.obj src/core/CMakeFiles/Core.dir/Common.cpp.obj src/core/CMakeFiles/Core.dir/Enums.cpp.obj src/core/CMakeFiles/Core.dir/Error.cpp.obj src/core/CMakeFiles/Core.dir/Instance.cpp.obj src/core/CMakeFiles/Core.dir/Media.cpp.obj src/core/CMakeFiles/Core.dir/MediaList.cpp.obj src/core/CMakeFiles/Core.dir/MediaListPlayer.cpp.obj src/core/CMakeFiles/Core.dir/MediaPlayer.cpp.obj src/core/CMakeFiles/Core.dir/MetaManager.cpp.obj src/core/CMakeFiles/Core.dir/ModuleDescription.cpp.obj src/core/CMakeFiles/Core.dir/TrackModel.cpp.obj src/core/CMakeFiles/Core.dir/Video.cpp.obj src/core/CMakeFiles/Core.dir/VideoStream.cpp.obj src/core/CMakeFiles/Core.dir/YUVVideoFrame.cpp.obj src/core/CMakeFiles/Core.dir/VideoFrame.cpp.obj src/core/CMakeFiles/Core.dir/VideoMemoryStream.cpp.obj src/core/CMakeFiles/Core.dir/Equalizer.cpp.obj src/core/CMakeFiles/Core.dir/compat/asprintf.c.obj src/core/CMakeFiles/Core.dir/compat/vasprintf.c.obj  C:/Qt/Qt5.12.3/5.12.3/msvc2017_64/lib/Qt5Cored.lib  C:/vlc-3.0.16/sdk/lib/libvlc.lib  C:/vlc-3.0.16/sdk/lib/libvlccore.lib  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj: in function `VlcAudio::metaObject() const':
C:\vlc-qt\build/src/core/Core_autogen/EWIEGA46WW/moc_Audio.cpp:153: undefined reference to `__imp__ZNK11QObjectData17dynamicMetaObjectEv'
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj: in function `VlcAudio::qt_metacast(char const*)':
C:\vlc-qt\build/src/core/Core_autogen/EWIEGA46WW/moc_Audio.cpp:161: undefined reference to `__imp__ZN7QObject11qt_metacastEPKc'
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/core/CMakeFiles/Core.dir/Core_autogen/mocs_compilation.cpp.obj: in function `VlcAudio::qt_metacall(QMetaObject::Call, int, void**)':
C:\vlc-qt\build/src/core/Core_autogen/EWIEGA46WW/moc_Audio.cpp:166: undefined reference to `__imp__ZN7QObject11qt_metacallEN11QMetaObject4CallEiPPv'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟凡古楼 2025-01-24 02:01:25

好的,感谢 @vre 我明白了。

解决办法:

  1. 下载vlc-qt和vlc 3.0.16并解压。
  2. 打开 cmake-gui 选择您的 Visual Studio 并选中“指定本机编译器”。
    指定本机编译器
  3. 将编译器设置为正确的 MSVC,如图所示
    正确的 MSVC
  4. 添加条目..或者只需单击“配置”并如图所示填写
    条目
  5. 填写完所有条目并且没有错误后,单击“生成”
  6. 单击“打开项目”以通过 Visual Studio 和 Build 打开它。

Ok, thanks to @vre i figure it out.

The solution :

  1. Download vlc-qt and vlc 3.0.16 and extract.
  2. Open cmake-gui choose your visual studio and check "Specify native compilers".
    Specify native compilers
  3. Set compilers to the correct MSVC like in the image
    correct MSVC
  4. Add entries.. or just click "Configure" and fill it like in the image
    entries
  5. After you fill all the entries and there no errors click "Generate"
  6. Click "Open Project" to open it via Visual Studio and Build ..
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文