Touchlib compiling instructions (Windows)

Hardware:
A webcam (USB or a Firewire)

Software:
Microsoft Visual Studio 2005
MS Visual Studio 2005
MS Visual Studio 2005 SP1
MS Visual Studio 2005 SP1 Update for Windows Vista (only needed when using vista)

TortoiseSVN
TortoiseSVN latest binaries

Miscallenous Libraries
OpenCV (download OpenCV_1.0.exe)
DSVideoLib (download dsvideolib-0.0.8c)
VideoWrapper (download  VideoWraper_0.2.5.zip)
GLUT (download glut-3.7.6-bin.zip)
OSCpack (download oscpack_1_0_2.zip)
CMU 1394 Digital Camera Driver (download 1394camera645.exe)
Windows Server 2003 R2 SDK (aka Platform SDK) Web Install, Full download or ISO
The platform SDK has been replaced by the Windows SDK:
Download the Web Install or DVD ISO image
DirectX SDK (download March 2009 or newer)

Installation instructions

  1. First install Visual Studio 2005
  2. Install the the Visual Studio 2005 SP1 update – Vista users: Rightclick on the setup and run as administrator.
    (Also be sure to have a few gigabytes spare on your C:\)
  3. If you’re using Windows Vista you will need to install the SP1 update for Vista aswell, again in administrator mode.
    (Windows XP users can continue reading).
  4. Now it is time to install the libraries, start with installing OpenCV 1.0. Just use the recommend path and let it set the environment variables.
  5. Next, create a directory called C:\_libraries and unzip the content of dsvideolib, VideoWrapper, GLUT and OSCpack to this directory.
    touchlib1.jpg
  6. Install the CMU 1394 Digital Camera Driver (yes, even if you dont have/use a firewire camera)
    During the setup Check “Development Files” and “Program Shortcuts”.
  7. Install the Platform SDK, typical settings should be fine.
    (I used the ISO to install this, if you use the webinstaller be sure to download the right platform).
  8. Install the DirectX SDK.
  9. Install TortoisSVN.

Setting environment variables

Depending on your setup you might need to change a few directory location values.

  1. Press the right mouse button on “My Computer” and choose: Properties > Advanced > Environmental Variables
  2. To add an entry, click “new” at the System Variables.
  3. Add the OpenCV root directory:
    name: “OPENCV_HOME”
    value: “C:\Program Files\OpenCV”
  4. Add the DSVideoLib:
    name: “DSVL_HOME”
    value: “C:\_libraries\dsvl-0.0.8c”
  5. Add the VideoWrapper
    name: “VIDEOWRAPPER_HOME”
    value: “C:\_libraries\VideoWraper_0.2.5”
  6. Add the OSCpack
    name: “OSCPACK_HOME”
    value: “C:\_libraries\oscpack_1_0_2\oscpack”
  7. Add the CMU driver location
    name: “CMU_PATH”
    value: “C:\Program Files\CMU\1394Camera”

Checkout touchlib svn

  1. Create a directory called C:\multitouch in windows explorer
  2. Click the right mouse button and choose SVN Checkout
  3. Enter “http://touchlib.googlecode.com/svn/trunk/” as the URL of the repository
  4. Enter “C:\multitouch\touchlib” as checkout directory
  5. Click OK (confirm creation of the directory)
  6. Downloading the files might take a while because of the demo movies which are included. (rev. 395 is 121,14 MBytes)

Visual studio settings

We are almost done with setting up the enviroment, there are just a few steps left before we can compile Touchlib.

  1. Open up “solution.sln” in the “C:\multitouch\touchlib\build\VC8” directory.
  2. Choose Tools > Options
  3. On the left choose Project and Solutions > VC++ Directories
  4. On the right change “Show directories for:” to “Include files”
  5. Add the directory “C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses”
  6. Add the directory “C:\Program Files\Microsoft SDKs\Windows\v6.1\Include”
  7. Add the directory “C:\Program Files\Microsoft DirectX SDK (March 2009)\Include”
  8. Add the directory “C:\_libraries\glut-3.7.6-bin”
  9. Change “Show directories for:” to “Library files”
  10. Add the directory “C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib”
  11. Add the directory “C:\Program Files\Microsoft DirectX SDK (March 2009)\Lib\x86”
  12. Add the directory “C:\_libraries\glut-3.7.6-bin”
  13. Click OK
  14. In the menu choose Build > Build Touchlib
  15. When it has compiled Touchlib, Build > Build solution
  16. The End 🙂

* last update on 13-04-2009 (Latest windows sdk + dx sdk)

31 Comment

    Hi,
    Thanks for the great instructions on compiling touchlib, but one question-do I need Visual Studio 05, or will Visual C++ Express, Dev C++, or another compiler work as well? Thx,
    rbedi100

    31 Aug 2008 | Reply

  1. sasha237

    Also it works with Visual Studio 2008. Thanks.

    07 Sep 2008 | Reply

  2. mr b

    hi just wandering is the touchlib software free, and does it means you can use a camera too to control it.

    13 Sep 2008 | Reply

  3. @rbedi100:
    I’m not sure if it will work on Visual Studio Express or other ‘free’ IDE’s.

    @mr b:
    The software is free and released under GPL2. You can control the camera parameters if needed.

    13 Sep 2008 | Reply

  4. Richard Z

    Hi, i have done as this tutorial, but when i compile the touchlib ,there are lots of errors in “C:\Program Files\Microsoft SDKs\Windows\v6.1\Include\intsafe.h(1278) : error C2061 ..” .
    and when i compile “configapp”,it’s succes!
    is my intsafe.h file have sth wrong?
    thank you!

    25 Oct 2008 | Reply

  5. @Richard Z:
    Strange error, are you using visual studio 2005 (or express?)?

    I guess you’ve set the include directories properly?
    C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses

    and

    C:\Program Files\Microsoft SDKs\Windows\v6.1\Include

    with this library directory:

    C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib

    31 Oct 2008 | Reply

  6. zousong

    Hi, i have done as this tutorial, but when i compile the touchlib .compling can pass but i have a link problem:
    and i use visual studio 2005 express
    1>DSVLCaptureFilter.obj : error LNK2019: unresolved external symbol __imp__CoInitialize@4 referenced in function “public: __thiscall DSVLCaptureFilter::DSVLCaptureFilter(char *)” (??0DSVLCaptureFilter@@QAE@PAD@Z)

    30 Dec 2008 | Reply

  7. @zousong:
    It seems like it can not find the DSVL.lib file, check your path settings in the environmental variables:

    It should be this:
    name: “DSVL_HOME”
    value: “C:\_libraries\dsvl-0.0.8c”

    12 Jan 2009 | Reply

  8. Ghanshyam

    I m not getting the directry as
    1.C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
    2.C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses

    HOw to add these directries…plz suggest me.thanks

    14 Mar 2009 | Reply

  9. ghanshyam

    dear Harry van der Veen
    i want to install touch lib on window xp.
    i used the Touchlib compiling instructions Multigesture_net.htm.
    but afterall we r getting the same error as

    Error 23 error C2065: ‘m_pSchedule’ : undeclared identifier c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h 139

    Error 79 error C2327: ‘CBaseReferenceClock::LPCTSTR’ : is not a type name, static, or enumerator c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\sysclock.h 25

    plz suggest me as poss as.
    thanking u

    14 Mar 2009 | Reply

  10. Aung Sithu

    @ghanshyam

    You need to have the baseclasses directory (samples/multimedia/directshow) before the sdk include directory.

    26 Mar 2009 | Reply

  11. Aung Sithu

    Ghanshyam Says:
    March 14th, 2009 at 8:57 am

    I m not getting the directry as
    1.C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
    2.C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses


    Mine look like this:
    C:\Program Files\Microsoft SDKs\Windows\v6.0\Samples\Multimedia\DirectShow\BaseClasses
    and
    C:\Program Files\Microsoft SDKs\Windows\v6.0\Include

    26 Mar 2009 | Reply

  12. Tan

    Thanx for the great instruction…

    I followed your steps but am getting the errors below. Please advice.

    Compiling…
    cl : Command line warning D9035 : option ‘Wp64’ has been deprecated and will be removed in a future release
    DSVLCaptureFilter.cpp
    c:\documents and settings\g\desktop\new folder\multitouch\google\touchlib-src-win32-20071106\touchlib\include\dsvlcapturefilter.h(9) : fatal error C1083: Cannot open include file: ‘streams.h’: No such file or directory
    FilterFactory.cpp
    c:\documents and settings\g\desktop\new folder\multitouch\google\touchlib-src-win32-20071106\touchlib\include\videowrapperfilter.h(8) : fatal error C1083: Cannot open include file: ‘streams.h’: No such file or directory
    VideoWrapperFilter.cpp
    c:\documents and settings\g\desktop\new folder\multitouch\google\touchlib-src-win32-20071106\touchlib\include\videowrapperfilter.h(8) : fatal error C1083: Cannot open include file: ‘streams.h’: No such file or directory
    Generating Code…

    10 Apr 2009 | Reply

  13. Yenni

    To Tan :

    Just include iostream instead

    To Laurence Muller :
    Thank you for the instructions

    To Anyone please :

    Does anyone see an error in the code below? i keep getting an error at ‘_AUX_RGBImageRec *Image;’ . The code below is from textures.h. And the error am getting is : error C2143: syntax error : missing ‘;’ before ‘*’. Am sure its sumtin stupid, i just dont see it tho.

    #include

    class COGLTexture
    {
    public:
    COGLTexture();
    ~COGLTexture();
    #ifdef WIN32
    _AUX_RGBImageRec *Image;
    #endif
    unsigned int GetID();
    void LoadFromFile(char *filename);
    void SetActive();
    int GetWidth();
    int GetHeight();
    private:
    int Width, Height;
    unsigned int ID;
    bool bInitialized;
    };

    13 Apr 2009 | Reply

  14. LucasM

    It seems that the most recent windows SDK (v6.1) no longer supports glaux.h which is required by the demo projects in touchlib. Looking a bit around on internet it seems that it should no longer be used. To solve the problem I copied glaux.h and glaux.lib from the previous SDK (for Windows Server 2003 R2).

    13 Apr 2009 | Reply

  15. Yenni

    correction , the first line is: #include

    13 Apr 2009 | Reply

  16. Yenni

    GL/gl.h

    13 Apr 2009 | Reply

  17. LBDL

    Hi I am getting a lot of compile errors with refclock.h
    I am using VS2008 btw but that should make no odds…
    any clues
    Error 44 error C2061: syntax error : identifier ‘CAMSchedule’ c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h 80 touchlib
    for example
    I am trying to build touchlib

    17 Apr 2009 | Reply

  18. xlmeng

    I had the same problem as LBDL’s. Found the solution here:
    http://social.msdn.microsoft.com/forums/en-US/windowsdirectshowdevelopment/thread/5da8f0b8-d2a9-4caf-81e1-7f5788fa1c00/
    The solution work for xp and vista

    21 Apr 2009 | Reply

  19. Sim

    I followed your steps but am getting the errors below. Please advice.

    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2146: syntax error : missing ‘)’ before identifier ‘pName’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2146: syntax error : missing ‘;’ before identifier ‘pName’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2460: ‘CBaseReferenceClock::LPCTSTR’ : uses ‘CBaseReferenceClock’, which is being defined
    1> c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(75) : see declaration of ‘CBaseReferenceClock’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2146: syntax error : missing ‘;’ before identifier ‘pUnk’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2059: syntax error : ‘)’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2864: ‘CBaseReferenceClock::pSched’ : only static const integral data members can be initialized within a class
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : warning C4183: ‘GetSchedule’: missing return type; assumed to be a member function returning ‘int’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2065: ‘m_pSchedule’ : undeclared identifier
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(166) : error C2227: left of ‘->GetEvent’ must point to class/struct/union/generic type
    1> type is ”unknown-type”
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\sysclock.h(25) : error C2327: ‘CBaseReferenceClock::LPCTSTR’ : is not a type name, static, or enumerator
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\sysclock.h(25) : error C2327: ‘CBaseReferenceClock::LPCTSTR’ : is not a type name, static, or enumerator
    1>c:\multitouch\touchlib\src\dsvlcapturefilter.cpp(61) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\dsvlcapturefilter.cpp(62) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>FilterFactory.cpp
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2146: syntax error : missing ‘)’ before identifier ‘pName’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2146: syntax error : missing ‘;’ before identifier ‘pName’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2460: ‘CBaseReferenceClock::LPCTSTR’ : uses ‘CBaseReferenceClock’, which is being defined
    1> c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(75) : see declaration of ‘CBaseReferenceClock’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2146: syntax error : missing ‘;’ before identifier ‘pUnk’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2059: syntax error : ‘)’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2864: ‘CBaseReferenceClock::pSched’ : only static const integral data members can be initialized within a class
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : warning C4183: ‘GetSchedule’: missing return type; assumed to be a member function returning ‘int’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2065: ‘m_pSchedule’ : undeclared identifier
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(166) : error C2227: left of ‘->GetEvent’ must point to class/struct/union/generic type
    1> type is ”unknown-type”
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\sysclock.h(25) : error C2327: ‘CBaseReferenceClock::LPCTSTR’ : is not a type name, static, or enumerator
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\sysclock.h(25) : error C2327: ‘CBaseReferenceClock::LPCTSTR’ : is not a type name, static, or enumerator
    1>STREAMS.H included TWICE
    1>c:\multitouch\touchlib\include\cropfilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (949). Save the file in Unicode format to prevent data loss
    1>c:\multitouch\touchlib\include\barreldistortioncorrectionfilter.h : warning C4819: The file contains a character that cannot be represented in the current code page (949). Save the file in Unicode format to prevent data loss
    1>VideoWrapperFilter.cpp
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2146: syntax error : missing ‘)’ before identifier ‘pName’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2146: syntax error : missing ‘;’ before identifier ‘pName’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2460: ‘CBaseReferenceClock::LPCTSTR’ : uses ‘CBaseReferenceClock’, which is being defined
    1> c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(75) : see declaration of ‘CBaseReferenceClock’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2146: syntax error : missing ‘;’ before identifier ‘pUnk’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2059: syntax error : ‘)’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2864: ‘CBaseReferenceClock::pSched’ : only static const integral data members can be initialized within a class
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : warning C4183: ‘GetSchedule’: missing return type; assumed to be a member function returning ‘int’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C2143: syntax error : missing ‘;’ before ‘*’
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2065: ‘m_pSchedule’ : undeclared identifier
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\refclock.h(166) : error C2227: left of ‘->GetEvent’ must point to class/struct/union/generic type
    1> type is ”unknown-type”
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\sysclock.h(25) : error C2327: ‘CBaseReferenceClock::LPCTSTR’ : is not a type name, static, or enumerator
    1>c:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\baseclasses\sysclock.h(25) : error C2327: ‘CBaseReferenceClock::LPCTSTR’ : is not a type name, static, or enumerator
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(8) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(106) : warning C4995: ‘sprintf’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(128) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(129) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(135) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(136) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(145) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(146) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(152) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(153) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>c:\multitouch\touchlib\src\videowrapperfilter.cpp(241) : warning C4995: ‘strcpy’: name was marked as #pragma deprecated
    1>Generating Code…
    1>Build log was saved at “file://C:\multitouch\touchlib\src\Debug\BuildLog.htm”
    1>touchlib – 75 error(s), 18 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

    03 Jun 2009 | Reply

  20. Jean

    Thank you for the instructions.
    I have compiled the solution.sln in VS2005. but press F5
    Pop-up a dailog “Application or DLL c:\multitouch\bin\touchlibd.dll is invalid Windows image.Please check your disk.. “

    17 Jul 2009 | Reply

  21. Jean

    To Sim:
    Maybe you could try to change the sequence in include directory and library directory。Making them in the front.

    17 Jul 2009 | Reply

  22. volcano

    Thank you for the instructions.
    But when i compile the toulib,i get the same error as Richard Z says,there are lots of errors in “C:\Program Files\Microsoft SDKs\Windows\v6.1\Include\intsafe.h(1278) : error C2061 ..” .
    I have done following the instructions.
    can u give some suggestions? thanks.

    21 Jul 2009 | Reply

  23. Its probably an issue related to the order of the include and library directories. You could try out the suggestion of Jean.

    21 Jul 2009 | Reply

  24. Mihir

    ‘Install the CMU 1394 Digital Camera Driver (yes, even if you dont have/use a firewire camera)’

    is this compulsory…cant i interface my laptop webcam with touchlib?please reply.thank you.

    26 Feb 2010 | Reply

  25. wi

    Is cvcam necessary?
    The latest openCV is remove cvcam.
    Is the latest touchlib updata?

    excuse me, my English is so bad.

    02 Jul 2010 | Reply

  26. saurabh

    Hi i am new to touclib and trying to install ver 2.0 on both windows and ubuntu 9.10
    in windows i m not able to run vision.bat it crashes saying runtime error with osc.exe
    1. vs2005 redist installed.
    2..net framework 4.0 installed
    still the problem remains same..
    In linux there is problem related with policy after running :” cmake . ”
    my cmake ver is 2.6 -patch 4

    any help..

    27 Dec 2010 | Reply

  27. mark

    hello guys
    I have a problem compiling the touchlib, I follow the instruction on the site. then when i compile the touchlib an error appeared:

    error 24:
    Cannot open include file: ‘cv.h’: No such file or directory

    please help me! thanks.

    13 Jan 2011 | Reply

    • @Mark: Please carefully follow the steps at “Setting environment variables”, I would also recommend downloading OpenCV 1.0 as I don’t know if the current version (2.0) is compatible with Touchlib

      25 Jan 2011 | Reply

  28. jerseyjohn

    Is Visual Studio 2010 a go ? Couldn’t find 2005. The url for “http://touchlib.googlecode” come’s back as no content avialable. Is that an old link ? Is there another link for this ?

    jerseyjohn

    17 Feb 2011 | Reply

    • Hi Jersey,

      I haven’t tried to build Touchlib in VS2010 but I don’t see any particular issues why it wouldnt work. Just make sure you build it in win32 mode and get OpenCV 1.0.

      The correct URL works fine here:
      http://code.google.com/p/touchlib/

      – Laurence

      17 Feb 2011 | Reply

    Leave a reply