Windows 환경에서 VLC 컴파일

sosuri78의 이미지

windows 환경에서 VLC 설치법. 코덱들은 라이브러리 버전을 이용함.

준비물
=======
1. cygwin 설치
http://www.cygwin.com/

2. 코덱 및 VLC가 필요로 하는 기타 라이브러리
http://download.videolan.org/pub/testing/win32/contrib-20051213-win32-bin-gcc3.3.1-only.tar.bz2

3. vlc 최신 버전(0.8.4a) http://www.videolan.org/vlc/download-sources.html

4. NSIS 패키지 2.14 http://prdownloads.sourceforge.net/nsis/nsis-2.14-setup.exe?download

cygwin 설치
===========
http://www.cygwin.com 에서 설치한다.

코덱 및 VLC 필요한 라이브러리 압축 풀기
=======================================
cygwin 루트에 압축을 푼다.

그러면 /usr/win32/ 폴더에 header 파일 들과 라이브러리, 실행 파일들이 설치된다.

vlc 컴파일
==========

(1) Bootstrap 및 configure

A. TroubleShoot (1)을 적용

B. Bootstrap 를 수행한다.

./bootstrap && \
PKG_CONFIG_PATH=/usr/win32/lib/pkgconfig \
CPPFLAGS="-I/usr/win32/include/freetype2 -I/usr/win32/include -I/usr/win32/include/ebml" \
LDFLAGS=-L/usr/win32/lib \
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \
./configure \
--disable-gtk \
--enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \
--enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
--with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
--with-wx-config-path=/usr/win32/bin \
--with-freetype-config-path=/usr/win32/bin \
--with-fribidi-config-path=/usr/win32/bin \
--enable-livedotcom --with-livedotcom-tree=/usr/win32/live.com \
--enable-caca --with-caca-config-path=/usr/win32/bin \
--with-xml2-config-path=/usr/win32/bin \
--with-dvdnav-config-path=/usr/win32/bin \
--disable-cddax --disable-vcdx --enable-goom \
--enable-twolame --enable-dvdread \
--enable-debug --disable-mkv

(2) 컴파일

make

(3) 실행 파일로 만들기

make package-win32-base

vlc-0.8.4a/vlc.exe 와 라이브러리가 생성됨.

(4) NSIS 인스톨러 설치

nsis-2.14-setup.exe 더블클릭 후 설치

(5) installer 형태로 만들기

A. Trouble Shoot (6) 적용

B. 설치 파일로 만들기
make package-win32-base-exe-cygwin

그러면 설치 파일 형태로 vlc-0.8.4a.exe 가 생성됨.

Trouble Shoot
=============
(1) bootstrap 시에 intl/Makefile.in 을 찾을 수 없다고 나온 후 종료됨.

bootstrap 파일 line 410 을 comment out 한다.

#rm -Rf intl # remove by sosuri

(2) bootstrap 시에 아래 오류 메시지 보임

+ autopoint -f
tar: Skipping to next header
tar: Archive contains obsolescent base-64 headers

gzip: stdin: invalid compressed data--crc error

gzip: stdin: invalid compressed data--length error
tar: Error exit delayed from previous errors

그냥 무시함. 대세에 영향 없음.

(3) make 시 아래 메시지 출력 되며 오류 발생하며 종료됨.
/home/sosuri/Project/12_VideoLan/01_Package/lib/include/ft2build.h:56:38:
freetype/config/ftheader.h: No such file or directory
In file included from parser/builder.cpp:35:
parser/../src/ft2_font.hpp:29:10: #include expects "FILENAME" or <FILENAME>
parser/../src/ft2_font.hpp:30:10: #include expects "FILENAME" or <FILENAME>
In file included from parser/builder.cpp:35:
parser/../src/ft2_font.hpp:60: error: `FT_Glyph' does not name a type
parser/../src/ft2_font.hpp:61: error: `FT_BBox' does not name a type
parser/../src/ft2_font.hpp:74: error: `FT_Library' does not name a type
parser/../src/ft2_font.hpp:76: error: `FT_Face' does not name a type
make[6]: *** [libskins2_plugin_a-builder.o] Error 1

CPPFLAGS="-I/usr/win32/include/freetype2 추가

(4) make 시 아래 메시지 출력되며 오류 발생하며 종료됨.

/usr/win32/lib/libmatroska.a(KaxBlock.o):KaxBlock.cpp:(.text$_ZNSt14__simple_all
ocIPN11libmatroska10DataBufferESt24__default_alloc_templateILb1ELi0EEE10dealloca
teEPS2_j[std::__simple_alloc<libmatroska::DataBuffer*, std::__default_alloc_temp
late<true, 0> >::deallocate(libmatroska::DataBuffer**, unsigned int)]+0x1d): und
efined reference to `std::__default_alloc_template<true, 0>::deallocate(void*, u
nsigned int)'

--disable-mkv 해줌

(5) 실행 시 아래 와 같이 메시지 뜨면서 정상 동작 안함.

[sosuri@h vlc-0.8.4a]$ ./vlc.exe
VLC media player 0.8.4a Janus
[00000270] main dialogs provider error: no dialogs provider module matched "any"
[00000267] skins2 interface error: No suitable dialogs provider found
(hint: compile the wxWidgets plugin, and make sure it is loaded properly)

http://download.videolan.org/pub/testing/win32/contrib-20051213-win32-bin-gcc3.3.1-only.tar.bz2
압축 풀을 때 cygwin 에 있는 tar를 사용해서 풀어야 함.
그렇지 않으면 /usr/win32/bin/wx-config 의 심볼릭 링크가 정상적으로 안풀림.

(6) make package-win32-base-exe-cygwin 시에 아래 에러 메시지 출력되며 종료됨.

Section: "Mozilla plugin" ->(SEC03)
SectionIn: [1] [2]
File: Descending to: ".\mozilla\"
File: Returning to: "."
File: "mozilla" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
/oname=outfile one_file_only)
Error in script "./vlc-0.8.4a/vlc.win32.nsi" on line 346 -- aborting creation process
make: *** [package-win32-base-exe-cygwin] Error 1

vlc.win32.nsi 파일의 Section /o "Mozilla plugin" SEC03 부터 SectionEnd 까지 삭제

=== 참고 문서 ===
[1] http://developers.videolan.org/vlc/vlc/INSTALL.win32
[2] http://developers.videolan.org/vlc/CygwinCompileEnvironmentRevB.pdf

Forums: 
agfe2의 이미지

Cygwin gcc 버전은 3.4.4 (gcc -dumpversion) 입니다.
VLC 라이브러리의 위치는 아래와 같이 바뀌었습니다

http://download.videolan.org/pub/testing/win32/contrib-old-gcc-3.3-only/contrib-20051213-win32-bin-gcc3.3.1-only.tar.bz2
.
위에 설명대로 cygwin에서 "tar -xjvf contrib-20051213-win32-bin-gcc3.3.1-only.tar.bz2" 를
해서 풀어주면 됩니다.
그냥 알집으로 풀어주니 wxWidget 이 없다는 메시지가 나오는군요.

== 사랑과 평화 넘치는 행복한 세상을 꿈꾸며

사랑과 평화 넘치는 행복한 세상을 꿈꾸며

jykimtc의 이미지

PC의 Window XP환경에서 VLC open source를 갖고 프로젝트를 만들어 컴파일 하고자 합니다.

방법을 좀 설명 부탁드립니다.. ^^;;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.