Windows
MS Visual C++
Install OpenCV
Download OpenCV installer and install it. I assume you have installed onto C:\Program Files\OpenCV.
Setup MS Visual C++
I write details based on MS Visual Studio 2005. Follow menus of MS Visual C++ window as:
- Tools > Options > Projects and Solutions > VC++ directories >
- Show Directory for: > Include Files. Now add
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\ml\include
C:\Program Files\OpenCV\otherlibs\cvcam\include - Show Directory for: > Library Files. Now add
C:\Program Files\OpenCV\lib
- (Option) Show Directory for: > Source Files. Now add
C:\Program Files\OpenCV\cv\src
C:\Program Files\OpenCV\cvaux\src
C:\Program Files\OpenCV\cxcore\src
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\src\windows
Setup MS Visual C++ for each project
- Right Click Project > Property >
- Configuration Proeperties > Linker > Input > Additional Dependencies. Now add
- cv.lib cxcore.lib cvaux.lib highgui.lib ml.lib cvcam.lib
- Change 'Configuration' drop down menu from Release (Debug) to Debug (Release).
- Do the same thing (Add .libs to Input)
Or, add below codes into your source codes above #include(s).
#ifdef _MSC_VER
#pragma comment(lib, "cv.lib")
#pragma comment(lib, "cxcore.lib")
#pragma comment(lib, "cvaux.lib")
#pragma comment(lib, "highgui.lib")
#pragma comment(lib, "ml.lib")
#pragma comment(lib, "cvcam.lib")
#endif
MinGW gcc/g++
Install MinGW
MinGW is a collection of freely available and freely distributable Windows specific header files and import libraries, augmenting the GNU Compiler Collection, (GCC), and its associated tools, (GNU binutils). MinGW provides a complete Open Source programming tool set which is suitable for the development of native Windows programs that do not depend on any 3rd-party C runtime DLLs.
- Download Automated MinGW Installer from MinGW project page
and install.
- Install gcc and g77
- Assume MinGW is installed on C:\MinGW
- MinGW originally does not include gdb debugger. If you want it, download .tar.bz2 of GNU Source-Level Debugger from MinGW project page
and unarchive it.
- Copy files into C:\MinGW
How To Compile
g++ test.cpp -I"C:\Program Files\OpenCV\cv\include" -I"C:\Program Files\OpenCV\cxcore\include" -I"C:\Program Files\OpenCV\otherlibs\highgui" -L"C:\Program Files\OpenCV\lib" -lcxcore -lcv -lhighgui -lcvaux -lml
How to Use MinGW on cygwin
Cygwin is a Linux-like environment for Windows. It consists of two parts: A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality. A collection of tools which provide Linux look and feel.
Setup to use MinGW g++ instead of cygwin g++
$ export PATH=/cygdrive/c/MinGW/bin:$PATH
Linux
gcc/g++
Download OpenCV source codes (.tar.gz)
Root user
tar zxvf opencv-1.0.0.tar.gz; cd opencv-1.0.0
./configure
make
make install
General user
tar zxvf opencv-1.0.0.tar.gz; cd opencv-1.0.0
./configure --prefix=$HOME/usr
make
make install
# configuration
export PATH=$HOME/usr/bin/:$PATH
export LD_LIBRARY_PATH=$HOME/usr/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$HOME/usr/lib/pkgconfig:$PKG_CONFIG_PATH
export MANPATH=$HOME/usr/man:$MANPATH
Compilation is as
g++ `pkg-config --cflags opencv` foo.c -o foo `pkg-config --libs opencv`
It must be equivalent with
g++ -I$HOME/usr/include/opencv foo.c -o foo -L$HOME/usr/lib -lcxcore -lcv -lhighgui -lcvaux -lml
where $HOME/usr is the prefix specified at the ./configure step.
MacOS X
I tried long time ago, there should exist easier ways nowadays.
- Install Xcode from OS CD, 'custome' to install everything.
- Get OpenCV and http://lestang.org/article45.html.
- Copy these files into OpenCV.
- ./configure to create cvconfig.h.
- Double click Xcode project in _make, add path of the cvconfig.h to highgui.
- Build, try projects of samples.
- To execute builded program on command line, copy _make/build/Debug/*.framework into ~/Library/Frameworks. If Frameworks does not exist, create it.
$ _make/build/Debug/kmeans.app/Contents/MacOS/kmeans
Sample Test code
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
// Nothing but create a window
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin", 100, 100);
cvWaitKey(0);
return 0;
}