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 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.
  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 responses

  1. 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

    rbedi100 August 31st, 2008
  2. Also it works with Visual Studio 2008. Thanks.

    sasha237 – September 7th, 2008
  3. hi just wandering is the touchlib software free, and does it means you can use a camera too to control it.

    mr b – September 13th, 2008
  4. @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.

    Laurence Muller September 13th, 2008
  5. 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!

    Richard Z – October 25th, 2008
  6. @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

    Laurence Muller October 31st, 2008
  7. 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)

    zousong – December 30th, 2008
  8. @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”

    Laurence Muller January 12th, 2009
  9. 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

    Ghanshyam – March 14th, 2009
  10. 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

    ghanshyam – March 14th, 2009
  11. @ghanshyam You need to have the baseclasses directory (samples/multimedia/directshow) before the sdk include directory.

    Aung Sithu – March 26th, 2009
  12. 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

    Aung Sithu – March 26th, 2009
  13. 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…

    Tan – April 10th, 2009
  14. 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; };

    Yenni – April 13th, 2009
  15. 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).

    LucasM – April 13th, 2009
  16. correction , the first line is: #include

    Yenni – April 13th, 2009
  17. GL/gl.h

    Yenni – April 13th, 2009
  18. 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

    LBDL – April 17th, 2009
  19. 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

    xlmeng – April 21st, 2009
  20. 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 ==========

    Sim – June 3rd, 2009
  21. 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.. “

    Jean – July 17th, 2009
  22. To Sim: Maybe you could try to change the sequence in include directory and library directory。Making them in the front.

    Jean – July 17th, 2009
  23. Thank you for the instructions. But when i compile the touchlib,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.

    volcano – July 21st, 2009
  24. Its probably an issue related to the order of the include and library directories. You could try out the suggestion of Jean.

    Laurence Muller July 21st, 2009
  25. ‘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.

    Mihir – February 26th, 2010
  26. Is cvcam necessary? The latest openCV is remove cvcam. Is the latest touchlib updata? excuse me, my English is so bad.

    wi – July 2nd, 2010
  27. 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..

    saurabh – December 27th, 2010
  28. 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.

    mark – January 13th, 2011
  29. @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

    Laurence Muller January 25th, 2011
  30. 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

    jerseyjohn – February 17th, 2011
  31. 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
    Laurence Muller February 17th, 2011