vlc-0.8.4a 컴파일하기 DMB
2006/08/20 03:04 http://blog.naver.com/java2core/90007547120 |
Microsoft Visual Studio .NET 2003에서 컴파일해서 각 plugin들과 vlc.exe가 생성하는데 발생하는 오류나 문제점을 해결하는 과정을 두서없이 기록합니다.
우선 처음에 가장 당황스러운 것은
msvc디렉토리 밑에 있는 vlc.dsw를 불러오면 이상한 오류메시지 창들만 뜹니다.
저도 처음에는 무척 당황했죠. plugin_쬝LUGIN? 이런 문자들이 dsp파일안에 잔뜩 있었죠.
VLC.dsp
제가 찾은 해결책은
울트라에디터에서 [파일] - [변환] - [UTF-8을 ASCII로] 실행하게 되면,
["plugin_쬝LUGIN?] -> ["plugin_§PLUGIN§"]로 변경됩니다.
그런 후 각 플러그인의 이름 맞게 변경합니다.
가령 plugin_a52.dsp에서는 [§PLUGIN§] -> [a52]로 변경합니다.
그런 후 파일 제일 밑에 있는 [§SOURCES§]의 위치에 [# End Project]의 다음 줄부터 전부를 붙여 넣기 합니다. 이것보다 좀 더 정교하게 하려면 [§SOURCES§]와 [§HEADERS§]에 소스파일과 헤더파일을 각각의 위치에 붙여 넣습니다.
그런 후 전 Debug와 Release를 모두 생성시키기 위해서 한가지 작업을 더 했습니다.
[/out:"plugins\] -> [/out:"$(OutDir)\plugins\]
[/pdb:"plugins\] -> [/pdb:"$(OutDir)\plugins\]
이렇게 하면 Debug 버전은 Debug 디렉토리 밑에 vlc.exe와 plugins 디렉토리 밑에 각 플러그인들이 생성됩니다.
원본 파일[plugin_a52(원본)-java2core.dsp]과 수정된 후 파일[plugin_a52(수정후)-java2core.dsp]을 첨부 파일에 참조하십시요.
그리고 위와 같은 작업을 상당히 많은 파일에 반복해서 수행해야 되는데 귀찮아 하실 분들을 위해서 수정된 모든 파일을 zip파일로 첨부합니다.
그런 후 vlc.dsw를 불러서 일괄 빌드를 해보면
plugin_ipv4.dsp에서 다음과 같은 오류가 발생할 수도 있습니다.
plugin_ipv4.dsp
error C2373: 'closesocket' : 재정의. 형식 한정자가 다릅니다.
modules\misc\network\ipv4.c
#if !defined(_MSC_VER)
# define close closesocket
#endif
빨간색부분을 추가한 후 다시 컴파일하면 오류없이 플러그인이 생성됩니다.
vlc.exe를 실행시켰는데 화면에 모니터에 어떤 프로그램도 실행되지 않으면 당황하지 말고,
interface 플러그인을 추가해서 컴파일하면 됩니다. 전 PC에서는 plugin_wxwidgets.dsp를 사용했습니다. 그리고 pda에서는 plugin_wince.dsp를 사용하였습니다.
plugin_wxwidgets.dsp
전 wxWidgets-2.6.3를 사용합니다.
컴파일 하는 과정에서 오류가 발생하면 wxwidget경로의 include경로와 lib경로를 추가해주면 됩니다. 그런 후 다시 컴파일하면 프로그램 윈도우가 화면에 나타나게 될 겁니다.
참조 : 첨부 zip파일 plugin_wxwidgets.dsp를 참조하시면 됩니다.
성공하셨습니까?
축하드립니다.
다음번에 기회가 있으면 위성DMB,지상파DMB에 필요한 모듈과 ffmpeg 컴파일하기에 대해 설명드리겠습니다.
[출처] vlc-0.8.4a 컴파일하기|작성자 수신제가