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 August 2008 or newer)
Installation instructions
- First install Visual Studio 2005
- 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:\) - 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). - 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.
- Next, create a directory called C:\_libraries and unzip the content of dsvideolib, VideoWrapper, GLUT and OSCpack to this directory.
Image may be NSFW.
Clik here to view. - 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”. - 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). - Install the DirectX SDK.
- Install TortoisSVN.
Setting environment variables
Depending on your setup you might need to change a few directory location values.
- Press the right mouse button on “My Computer” and choose: Properties > Advanced > Environmental Variables
- To add an entry, click “new” at the System Variables.
- Add the OpenCV root directory:
name: “OPENCV_HOME”
value: “C:\Program Files\OpenCV” - Add the DSVideoLib:
name: “DSVL_HOME”
value: “C:\_libraries\dsvl-0.0.8c” - Add the VideoWrapper
name: “VIDEOWRAPPER_HOME”
value: “C:\_libraries\VideoWraper_0.2.5″ - Add the OSCpack
name: “OSCPACK_HOME”
value: “C:\_libraries\oscpack_1_0_2\oscpack” - Add the CMU driver location
name: “CMU_PATH”
value: “C:\Program Files\CMU\1394Camera”
Checkout touchlib svn
- Create a directory called C:\multitouch in windows explorer
- Click the right mouse button and choose SVN Checkout
- Enter “http://touchlib.googlecode.com/svn/trunk/” as the URL of the repository
- Enter “C:\multitouch\touchlib” as checkout directory
- Click OK (confirm creation of the directory)
- 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.
- Open up “solution.sln” in the “C:\multitouch\touchlib\build\VC8″ directory.
- Choose Tools > Options
- On the left choose Project and Solutions > VC++ Directories
- On the right change “Show directories for:” to “Include files”
- Add the directory “C:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses”
- Add the directory “C:\Program Files\Microsoft SDKs\Windows\v6.1\Include”
- Add the directory “C:\Program Files\Microsoft DirectX SDK (March 2009)\Include”
- Add the directory “C:\_libraries\glut-3.7.6-bin”
- Change “Show directories for:” to “Library files”
- Add the directory “C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib”
- Add the directory “C:\Program Files\Microsoft DirectX SDK (March 2009)\Lib\x86″
- Add the directory “C:\_libraries\glut-3.7.6-bin”
- Click OK
- In the menu choose Build > Build Touchlib
- When it has compiled Touchlib, Build > Build solution
- The End Image may be NSFW.
Clik here to view.
* last update on 13-04-2009 (Latest windows sdk + dx sdk)
19 Responses to “Touchlib compiling instructions (Windows)”
Image may be NSFW.Clik here to view.
August 31st, 2008 at 3:06 am
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
September 7th, 2008 at 7:22 pm
Also it works with Visual Studio 2008. Thanks.
September 13th, 2008 at 6:10 pm
hi just wandering is the touchlib software free, and does it means you can use a camera too to control it.
September 13th, 2008 at 11:42 pm
@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.
October 25th, 2008 at 11:07 am
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!
October 31st, 2008 at 11:42 am
@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
December 30th, 2008 at 11:59 am
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)
January 12th, 2009 at 4:27 pm
@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”
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
HOw to add these directries…plz suggest me.thanks
March 14th, 2009 at 4:31 pm
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
March 26th, 2009 at 5:11 am
@ghanshyam
You need to have the baseclasses directory (samples/multimedia/directshow) before the sdk include directory.
March 26th, 2009 at 5:18 am
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
April 10th, 2009 at 8:17 am
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…
April 13th, 2009 at 5:41 am
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;
};
April 13th, 2009 at 11:53 am
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).
April 13th, 2009 at 6:08 pm
correction , the first line is: #include
April 13th, 2009 at 6:09 pm
GL/gl.h
April 17th, 2009 at 8:02 pm
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
April 21st, 2009 at 5:22 am
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