https://www.videolan.org/developers/vlc.html
Get VLC Source Code 'releases' > 3.0.17 > win64/ > vlc-3.0.17-win64.7z 다운로드(https://get.videolan.org/vlc/3.0.17/win64/)
(1) qt 디렉토리에 vlc sdk 복사
$(QTDIR)\bin
(2) sdk\include\vlc
디렉토리를 5.14.2\msvc2017_64\include
로 복사
(3) sdk\lib
라이브러리 4개를 5.14.2\msvc2017_64\lib
로 복사
Download > GitHub Repository > VLC-Qt 1.1.1 > Source code(zip) 다운로드
(1) 소스코드 경로, 빌드경로 세팅
\vlc-qt-1.1.1
\build (새폴더)
(2) Cmake configure
Visual Studio 16 2019
(3) CMAKE_INSTALL_PREFIX
\vlc-qt_x64
(4) Add new Entry VLC_PLUGIN_PATH
$(QTDIR)\bin\plugins
(5) Add new Entry CMAKE_DEBUG_POSTFIX
string "d"
(6) Qt5Core_DIR
$(QTDIR)\lib\cmake\Qt5Core
-- Configure 선택
(7) Qt5Quick_DIR
$(QTDIR)\lib\cmake\Qt5Quick
(8) Qt5Widgets_DIR
$(QTDIR)\lib\cmake\Qt5Widgets
(9) Qt5QuickTest_DIR
$(QTDIR)\lib\cmake\Qt5QuickTest
(10) LIBVLC
$(QTDIR)\lib\libvlccore.lib
$(QTDIR)\include\vlc
$(QTDIR)\lib/libvlc.lib
(11) Generate
Configuring done
build\cmake_install.cmake
line 45,46
include -> bin 수정
아래 4개 솔루션 속성에서 /SAFESEH:NO
추가
Properties > linker > command line
Relase x64
(1) C2065: 'libvlc_media_read_cb': 선언되지 않은 식별자입니다.
$(QTDIR)\include\vlc\libvlc_media.h
"vlc.h"에 typedef __int64 ssize_t;
추가(line:39)
솔루션 정리, ALL_BUILD 프로젝트 정리 후 다시 빌드
(2) C3861: 'poll': 식별자를 찾을 수 없습니다.
# define poll(u,n,t) vlc_poll(u, n, t)
vlc_poll 함수 앞으로 옮김
솔루션 정리, ALL_BUILD 프로젝트 정리 후 다시 빌드
바이너리, 라이브러리 준비완료
vlc-qt_x64(CMAKE_INSTALL_PREFIX) 폴더확인
https://github.com/vlc-qt/examples
(1) 프로젝트 import
(2) library 경로 수정 및 빌드(Release)
VLC_INSTALL_PATH = [vlc-qt_x64 디렉토리 경로]
LIBS += -L$$VLC_INSTALL_PATH/lib -lVLCQtCore -lVLCQtWidgets
INCLUDEPATH += $$VLC_INSTALL_PATH/include
DEPENDPATH += $$VLC_INSTALL_PATH/vlc-qt_x64
build>run qmake
(3) vlc-qt_x64\bin
경로의 dll 파일 5개를 빌드 디렉토리로 복사 후 다시빌드
(4) Qt dll 3개 실행폴더에 복사
$(QTDIR)\bin
해결> Qt5 Widgets.dll이(가) 없어 코드 실행을 진행할 수 없습니다. 프로그램을 다시 설치하면 이 문제가 해결될 수 있습니다.
(5) Qt platforms, plugins 실행폴더에 복사
$(QTDIR)\plugins\platforms
$(QTDIR)\bin\plugins
해결> This application failed to start because no qt platform plugin could be initialized. Reinstaling the application may fix this problem.
(6) 다시 빌드