See README for general informations. See USE for informations about using library in your software. _______________________________________________________________________ BUILDING VETLib BUILDING VETLib All projects share many source files, stored in ./source directory and sub-directories, headers are located in the same folder of source file, ./include/VETLib.h includes most class' headers. Project files for Windows are located in ./lib/mvc/ and ./lib/bcb/, Makefile for Linux is ./Makefile, default output folder is ./lib/ (as relative path), Windows' binaries are named as project's filename with classic .lib extension, linux's Makefile writes to VETLib.a (..i don't like libVET.a), see ./lib/README for details about each built. External libraries (required by special builts) are located in ./support folder, check ./support/NOTES for more informations. LINUX -===== Compatible with most GNC C++ Compilers, make configuration is stored in ./Makefile Execute: make VETLib : build standard VETLib framework; [fully MultiPlatform, only C++ Standard Lib. is required] make v4l : build VETLib framework with Video4Linux support; [require v4l library] make xvid : build VETLib framework with XVID (MPEG4) support; [require xvidcore library] make quicktime : build VETLib framework with quicktime (MOV) support; [require quicktime4linux library] make mpeg : build VETLib framework with MPEG 1-2 support; [require libmpeg3 library] make gui : build VETLib framework with GUI support; [require QT, GTK library] make magick : build VETLib framework with ImageMagicK support; [require ImageMagicK library] make all : build VETLIb with all available options; [all external libraries are required] WINDOWS -======= Projects' files are available in ./lib/ folder for following environments: o Borland C++ Builder 6.0 (or later) * {Menu->Project->Build VETLib} /lib/bcb/VETLib_bcb.bpr [build minimal VETLib framework] BCB MakeFile (VETLib_bcb.mak) {execute MAKE .-fVETLib_bcb.mak} * BCB NOTE: Base library only is supported by BCB compilers, external libraries (such as DirectX, ImageMagick, xVidcore) are NOT compatible with Borland Linker (mainly because of COFF<->OMF problem), so you will need Microsoft Visual Studio to build complete library. o Microsoft Visual C++ 6.0 {Menu->Build->Build VETLib} /lib/mvc/VETLib_base.dsw [build minimal VETLib framework] output: VETLib_base.lib /lib/mvc/VETLib_dx.dsw [build VETLib framework with DirectX support, require DirectX SDK 9c, see ./support/NOTES and last part of this document for details] output: VETLib_dx.lib /lib/mvc/VETLib_xvid.dsw [build VETLib framework with XVID (MPEG4) support, require xvidcore library, to build xvidcore.lib use project ./support/xvidcore/build/win32/xvidcore.dsw] output: VETLib_xvid.lib /lib/mvc/VETLib_im.dsw [build VETLib framework with ImageMagick support, require imagemagick library, to build follow READMEs and add include folder to MVS] output: VETLib_im.lib /lib/mvc/VETLib_full.dsw [build FULL VETLib framework, require all listed..] output: VETLib.lib, VETLib_full.lib o Microsoft Visual C++ 7.0 (.NET) [ALPHA PROJECT] /lib/mvc7/VETLib_full.vcproj [build complete VETLib framework] output: VETLib_vc7.lib _______________________________________________________________________ EXTERNAL LIBRARIES EXTERNAL LIBRARIES In ./support/ folder are located all required libraries for VETLib, standard framework uses only C++ standard library and it's fully multi-platform (ANSI C++). When building with MPEG, MOV, XVID or DirectX support, VETLib needs some external libraries, they may be unavailable for some systems and they probably need to be installed or built on your system. ./support/NOTES report some nice tips and known bugs for installing libraries, you should read it. You may download libraries package from VETLib website or (better) download each library from its updated homepage and install on your system, read file ./support/NOTES before proceeding. Current External Libraries: o ccvt Multi-Platform required in ./source/vetUtility.cpp o qt Multi-Platform required in ./source/outputs/vetWindowQT.cpp o gtk Multi-Platform required in ./source/outputs/vetWindowGTK.cpp o imagemagick Multi-Platform required in ./source/coders/vetCodec_IMG.cpp o libmpeg3 [1.5.4-i686] Linux only required in ./source/coders/vetCodec_MPEG.cpp o quicktime4linux [1.4] Linux only required in ./source/coders/vetCodec_MOV.cpp o xvidcore [1.1.0beta2-i686] Linux and Windows32 required in ./source/coders/vetCodec_XVID.cpp o DirectX 9c [before 10.0] Window32 + DirectX runtime required in ./source/inputs/vetDirectXInput.cpp ./source/inputs/vetDirectXInput2.cpp LINUX -===== o v4l : Install: - Usually Included by system Home: http://www.exploits.org/v4l o xvidcore : Install: ./support/xvidcore/doc/install (or package) Home: http://www.xvid.org Parameters: -L/usr/lib/ -lxvidcore o quicktime : Build: ./support/quicktime4linux/docs/index.html Home: http://www.heroinewarrior.com/quicktime4linux Parameters: -lpthread -lpng -ldl -lz -lglib -L../support/quicktime4linux/i686 -lquicktime o libmpeg3 : Install: Default library installation tecnique (build or package) Home: http://www.heroinewarrior.com/libmpeg3 Parameters: -lpthread -lmpeg3 o qt : Install: Usually installed Home: http://www.trolltech.com Parameters: -L/usr/lib/qt/lib -lqt-mt o gtk : Install: Usually installed Home: http://www.gtk.org Parameters: `pkg-config --cflags --libs gtk+-2.0` o imagemagick : Install: Default library installation tecnique (build or package) Home: http://www.imagemagick.org/ Parameters: -L/usr/local/lib -L/usr/X11R6/lib -L/lib/graphviz -lfreetype -lz -L/usr/lib -lMagick -llcms -ltiff -lfreetype -ljpeg -lpng -ldpstk -ldps -lXext -lXt -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lpthread -lm -lpthread WINDOWS -======= o DirectX : Install: SDK installation, update include and library in your compiler / RAD development system. Home: http://www.microsoft.com/directx Link: ./support/directx/amstrmid.lib, strmbasd.lib, dbghelp.lib Note: DirectX is NOT compatible with Borland Compilers (COFF<->OMF). o xvid : Build: With Visual Studio, read ./support/NOTES, build static library (.lib) Home: http://www.xvid.org Link: ./support/xvidcore/build/win32/bin/libxvidcore.lib o imagemagick : Build: With Visual Studio, read ./support/NOTES, build static library (.lib) Home: http://www.imagemagick.org/ Link: ./support/ImageMagick/VisualMagick/lib/*.* _______________________________________________________________________ COMPILING TESTS COMPILING TESTS All projects share same source files, stored in /tests directory, named /test_.cpp, where is VETLib class to test. LINUX -===== Compatible with most GNC C++ Compilers, make configuration is stored in ./tests/Makefile Execute: ./tests/make all : build all tests; ./tests/make : build selected test; ./tests/make help : show available tests; ./tests/make clean : clean output files and objects; Reference to VETLib static library (VETLib.a) is at "../lib/VETLib.a", some tests may need special VETLib built (MPEG, MOV, XVID, V4L support): ./tests/test_vetQWindow.cpp Show how to use QWindow class ./tests/test_vetCodec_XVID.cpp Show how to use vetCodec_XVID class ./tests/test_vetCodec_MOV.cpp Show how to use vetCodec_MOV class ./tests/test_vetCodec_MPEG.cpp Show how to use vetCodec_MPEG class ./tests/app_vetVideo4LinuxPlayer.cpp Play /dev/video0 stream to a window ./tests/app_vetLinuxMOVPlayer.cpp Play a QuickTime movie in a window ./tests/app_vetLinuxMPEGPlayer.cpp Play a MPEG1-2 movie in a window (QT) ./tests/app_vetLinuxMPEGPlayerGTK.cpp Play a MPEG1-2 movie in a window (GTK) ./tests/app_vetLinuxXVIDPlayer.cpp Play a MPEG4 movie in a window WINDOWS -======= Built project for o Borland C++ Builder 6.0 (or later) ./tests/bcb/test_.bpr {Menu->Project->Run} o Microsoft Visual C++ 6.0 (or later) ./tests/mvc/test_.dsw {Menu->Build->Execute test_.vc6.exe} Following tests need DirectX SDK Library (9c, not version 10) ./tests/app_vetDirectXLamePlayer.cpp Play first capture device in a window Reference to VETLib static library is at ./lib/VETLib.lib for BCB and ./lib/VETLib_vc6.lib for MVC. Object and temp files are stored in ./tests/tmp folder, output binaries are moved to ./tests/bin/. To build VETLib WorkShop, Package Studio or Distribution Manager you need Visual Studio 7.0 (.NET) and the full library binary for Windows (./lib/VETLib.lib), see README document in application's folder for details. ___________________________________________________________________________________________ Last file update: 17/01/2006 Updated COMPILE: http://lnx.ewgate.net/vetlib/distr/COMPILE