Cross-Compile-Howto.txt
上传用户:riyaled888
上传日期:2009-03-27
资源大小:7338k
文件大小:5k
源码类别:

多媒体

开发平台:

MultiPlatform

  1.                       2002/03/05
  2.         VLC for Windows Cross-Compile HOWTO - 0.1
  3. *EASY* VLC cross-compilation using Linux for a Windows client
  4. Bill Eldridge & Gildas Bazin
  5. 0) MSYS & mingw
  6. 1) Download software packages
  7. 2) Unpack sources
  8. 3) Configure vlc
  9. 4) Make
  10. 5) Package for Windows
  11. 6) Further resources
  12. 0) MSYS & mingw
  13. As of version 1.0.5, the MSYS part of MingW has
  14. released an environment that will let you configure
  15. and compile packages for mingw directly on Windows.
  16.         http://mingw.sourceforge.net
  17. Combined with the SDL & GTK development packages,
  18. this is enough to compile vlc without cross-compiling
  19. on Linux.  However, for those of us who like Linux
  20. and want to cross-compile (say to automate nightly
  21. builds), read on.
  22. 1) Download software packages
  23. Download all the software needed to /usr/local/src/VLC -
  24. including pre-compiled mingw32 cross-compiler for linux,
  25. SDL, gtk, directx, and of course vlc.  You will also need
  26. various run-time DLLs on your Windows machine when you go
  27. to run the program.
  28. Go to http://www.videolan.org/vlc/windows.html and download:
  29. - mingw32 cross-compiler for linux: linux-cross-mingw32-10022002.tar.bz2
  30. - SDL-devel-1.2.3-mingw32.tar.gz (you can also go to www.libsdl.org)
  31. - gtk-win32-10022002.tar.bz2 development files.
  32. - the directx 7 headers. (Instead of downloading the whole directx SDK
  33. form Microsoft)
  34. Get vlc from:
  35.         http://www.videolan.org/pub/videolan/vlc/snapshots/
  36. (who needs a release version? you're compiling, after all :)
  37. or grab the cvs at:
  38.         http://developers.videolan.org/cvs.html
  39. using the command:
  40. cvs -d :pserver:anonymous@anoncvs.videolan.org:/var/cvs/videolan -z3 co
  41. vlc
  42. (and no, you don't need to log in, that's why it's "anonymous")
  43. 2) Unpack sources
  44. Unpack all your sources to the right place:
  45. [Note that you can put SDL & gtk in a different place,
  46. but then you'll have to edit the sdl-config & gtk-config.
  47. directx can go anywhere - you'll just set that path when
  48. you do vlc's configure]
  49. cd to your Source directory
  50. SRCDIR=`pwd`    # /usr/local/src/VLC seems good, no?
  51. tar -jxvf linux-cross-mingw32-10022002.tar.bz2 -C /usr/local
  52. tar -zxf SDL-devel-1.2.3-mingw32.tar.gz -C /usr/local/cross-tools
  53. cd /usr/local/cross-tools
  54. ln -s i586-mingw32msvc i386-mingw32msvc
  55. tar -xf SDL-1.2.3/i386-mingw32msvc.tgz
  56. rm -rf SDL-1.2.3
  57. cd $SRCDIR
  58. tar xjvf gtk-win32-10022002.tar.bz2 -C /usr/local
  59. mkdir /usr/local/directx
  60. unzip -d /usr/local/directx/include dxheaders.zip
  61. tar -jxf <vlc-snapshot-xxx>.bz2 # Unless you used cvs
  62. cd vlc
  63. 3) Configure vlc
  64. rm config.cache config.status
  65. make clean      # or "make distclean" for pretty pretty
  66. PATH=/usr/local/cross-tools/bin:$PATH 
  67. CC=i586-mingw32msvc-gcc 
  68. ./configure --host=i586-mingw32msvc 
  69.   --target=i586-mingw32msvc --build=i386-linux 
  70.   --with-directx=/usr/local/directx 
  71.   --with-gtk-config-path=/usr/local/gtk-win32/bin 
  72.   --with-sdl-config-path=/usr/local/cross-tools/i586-mingw32msvc/bin
  73. 4) make vlc
  74. PATH=/usr/local/cross-tools/bin:$PATH 
  75. make
  76. 5) Package for Windows
  77. mkdir /usr/local/src/winvlc
  78. mkdir /usr/local/src/winvlc/plugins
  79. mkdir /usr/local/src/winvlc/share
  80. cp vlc.exe /usr/local/src/winvlc/
  81. cp plugins/*.so /usr/local/src/winvlc/plugins/
  82. cp share/*.psf /usr/local/src/winvlc/share/
  83. cd /usr/local/src
  84. strip winvlc/vlc.exe winvlc/plugins/*.so
  85. zip -r winvlc.zip winvlc
  86. Now place winvlc in your ftp/html downloads,
  87. or copy to your dos disk or move to a floppy
  88. (only about 270K)
  89. Uncompress to C:winvlc
  90. Don't forget to place all the GTK and SDL dll's from the development packages
  91. you downloaded on http://www.videolan.org/vlc/windows.html in c:winvlc
  92. cd c:winvlc
  93. vlc -v
  94. Note: -v gives you errors in case something's not being found,
  95. otherwise not needed.
  96. 6) Further resources (for this or other cross-compilation
  97. projects):
  98. At this time, mingw32_2.95.3.7-3_i386.deb and
  99. mingw32-runtime_1.2-1_i386.deb were at:
  100. http://packages.debian.org/testing/devel/mingw32.html
  101. http://packages.debian.org/testing/devel/mingw32-runtime.html
  102. and possibly on your CD - you might be able to find later
  103. versions, or save bandwidth, if you care.  (Of course we'll
  104. only be testing what we put on the VideoLan website).
  105. While these are "Debian" packages, they work on Redhat
  106. and possibly elsewhere - download dpkg for your system
  107. and do something like:
  108. dpkg -x  mingw32_2.95.3.7-3_i386.deb /tmp/ming
  109. dpkg -x  mingw32-runtime_1.2-1_i386.deb /tmp/ming
  110. mv /tmp/ming/usr /usr/local/cross-tools
  111. Full DX-7 headers, libs & directx.h (the Peter Puck version)
  112. can be found at:
  113.         http://fceultra.sourceforge.net/dev
  114. There are other versions of GTK for Windows available, but
  115. the one provided here has been hacked specifically for VideoLan.