# Psychtoolbox makeit

**URL:** <https://psychtoolbox.discourse.group/t/psychtoolbox-makeit/1372>\
**Category:** Uncategorized\
**Created:** [March 14, 2007, 3:45pm UTC](https://psychtoolbox.discourse.group/t/psychtoolbox-makeit/1372 "2007-03-14T15:45:45Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![chelamdelphine](https://avatars.discourse-cdn.com/v4/letter/c/c57346/32.png) [@chelamdelphine](https://psychtoolbox.discourse.group/u/chelamdelphine)\
**Post date:** [March 14, 2007, 3:45pm UTC](https://psychtoolbox.discourse.group/t/psychtoolbox-makeit/1372/1 "2007-03-14T15:45:45Z")

</div>

hi  
  
I ve download Psychtoolbox. I would like to add a custom getTablet  
function in the project. I work on windows and i use matlab R2006b. I  
try to build the projet with the "makeit.m" file in matlab which i've  
modified :  
  
  
  
function makeit2  
dos('copy  
D:\psych\osxptb\trunk\PsychSourceGL\Source\Common\Base\PsychScriptingGlue.cc  
D:\psych\osxptb\trunk\PsychSourceGL\Source\Common\Base\PsychScriptingGlue.c');  
mex -v -outdir  
D:\psych\osxptb\trunk\PsychSourceGL\Projects\Windows\build\ -output  
Screen -IC:\PROGRA~1\MICROS~1.NET\Vc7\PlatformSDK\Include  
-LC:\PROGRA~1\MICROS~1.NET\Vc7\PlatformSDK\Lib  
-IC:\Program\QuickTimeSDK\CIncludes  
-LC:\Program\QuickTimeSDK\Libraries -ICommon\Base -ICommon\Screen  
-IWindows\Base -IWindows\Screen Windows\Screen\*.c Windows\Base\*.c  
Common\Base\*.c Common\Screen\*.c user32.lib gdi32.lib advapi32.lib  
glu32.lib opengl32.lib qtmlClient.lib ddraw.lib  
dos('copy  
D:\psych\osxptb\trunk\PsychSourceGL\Projects\Windows\build\Screen.dll  
D:\psych\osxptb\trunk\Psychtoolbox\PsychBasic\');  
dos('copy  
D:\psych\osxptb\trunk\PsychSourceGL\Projects\Windows\build\Screen.dll  
C:\Program Files\MATLAB\R2006b\toolbox\Psychtoolbox\PsychBasic\');  
delete('D:\psych\osxptb\trunk\PsychSourceGL\Source\Common\Base\PsychScriptingGlue.c');  
return;  
  
  
  
I've installed QuickTime 7.1 SDK for Windows. but i've got an error :   
  
  
  
--\> "cl -IC:\PROGRA~1\MICROS~1.NET\Vc7\PlatformSDK\Include  
-IC:\Program\QuickTimeSDK\CIncludes -ICommon\Base -ICommon\Screen  
-IWindows\Base -IWindows\Screen -c -Zp8 -G5 -GR -W3 -DMATLAB\_MEX\_FILE  
-nologo  
/FoC:\DOCUME~1\ANDREI~1\LOCALS~1\Temp\mex\_6A509BAA-D86C-40E6-73A5-1A0AFF494E2E\PsychAlphaBlending.obj  
-IC:\PROGRA~1\MATLAB\R2006b\extern\include /MD -O2 -Oy- -DNDEBUG  
-DMX\_COMPAT\_32 Windows\Screen\PsychAlphaBlending.c"   
  
PsychAlphaBlending.c   
C:\Program\QuickTimeSDK\CIncludes\MacTypes.h(278) : error C2059:  
syntax error : '('   
C:\Program\QuickTimeSDK\CIncludes\GNUCompatibility\stdbool.h(16) :  
error C2371: 'bool' : redefinition; different basic types   
 c:\Program Files\MATLAB\R2006b\extern\include\tmwtypes.h(698)  
: see declaration of 'bool'   
C:\Program\QuickTimeSDK\CIncludes\GNUCompatibility\stdbool.h(19) :  
warning C4005: 'false' : macro redefinition   
 c:\Program Files\MATLAB\R2006b\extern\include\tmwtypes.h(701)  
: see previous definition of 'false'   
C:\Program\QuickTimeSDK\CIncludes\GNUCompatibility\stdbool.h(20) :  
warning C4005: 'true' : macro redefinition   
 c:\Program Files\MATLAB\R2006b\extern\include\tmwtypes.h(704)  
: see previous definition of 'true'   
C:\Program\QuickTimeSDK\CIncludes\CarbonEventsCore.h(185) : error  
C2065: 'false' : undeclared identifier   
C:\Program\QuickTimeSDK\CIncludes\CarbonEventsCore.h(185) : error  
C2057: expected constant expression   
C:\Program\QuickTimeSDK\CIncludes\CarbonEventsCore.h(187) : error  
C2065: 'true' : undeclared identifier   
C:\Program\QuickTimeSDK\CIncludes\CarbonEventsCore.h(187) : error  
C2057: expected constant expression   
C:\Program\QuickTimeSDK\CIncludes\DriverServices.h(1263) : error  
C2057: expected constant expression   
C:\Program\QuickTimeSDK\CIncludes\DriverServices.h(1265) : error  
C2057: expected constant expression   
C:\Program\QuickTimeSDK\CIncludes\Folders.h(67) : error C2057:  
expected constant expression   
C:\Program\QuickTimeSDK\CIncludes\Folders.h(69) : error C2057:  
expected constant expression   
C:\Program\QuickTimeSDK\CIncludes\MacWindows.h(2221) : error C2057:  
expected constant expression   
C:\Program\QuickTimeSDK\CIncludes\MacWindows.h(2228) : error C2057:  
expected constant expression   
d:\psych\osxptb\stable\PsychSourceGL\Source\Common\Base\PsychConstants.h(168)  
: warning C4005: 'mxCreateLogicalMatrix' : macro redefinition   
 c:\Program Files\MATLAB\R2006b\extern\include\matrix.h(2072) :  
see previous definition of 'mxCreateLogicalMatrix'   
  
 C:\PROGRA~1\MATLAB\R2006B\BIN\MEX.PL: Error: Compile of  
'Windows\Screen\PsychAlphaBlending.c' failed.   
  
??? Error using ==\> mex  
Unable to complete successfully.  
  
Error in ==\> makeit2 at 3  
mex -v -outdir  
D:\psych\osxptb\trunk\PsychSourceGL\Projects\Windows\build\ -output  
Screen -IC:\PROGRA~1\MICROS~1.NET\Vc7\PlatformSDK\Include  
-LC:\PROGRA~1\MICROS~1.NET\Vc7\PlatformSDK\Lib -IC:\Progra  
  
  
can anyone help me?  
thanks  
delphine

---

<div class="post-metadata">

**Author:** ![chelamdelphine](https://avatars.discourse-cdn.com/v4/letter/c/c57346/32.png) [@chelamdelphine](https://psychtoolbox.discourse.group/u/chelamdelphine)\
**Post date:** [March 15, 2007, 9:52am UTC](https://psychtoolbox.discourse.group/t/psychtoolbox-makeit/1372/2 "2007-03-15T09:52:06Z")

</div>

i forgot to say that i've installed Visual Studio .NET 2003

---

<div class="post-metadata">

**Author:** ![mariokleiner](https://avatars.discourse-cdn.com/v4/letter/m/13edae/32.png) [@mariokleiner](https://psychtoolbox.discourse.group/u/mariokleiner)\
**Post date:** [March 16, 2007, 2:34am UTC](https://psychtoolbox.discourse.group/t/psychtoolbox-makeit/1372/3 "2007-03-16T02:34:35Z")

</div>

Hi Delphine,  
  
could you explain what your getTablet function does? If this is something of interest for   
more people, maybe we could include it in the official distribution.  
  
If the getTablet thingy doesn't critically depend on Screen(), i.e., no need to access Screens   
internal data structures (Onscreen windows and such), no need for OpenGL, ... then i'd   
recommend to not add the function to Screen, but create a separate PTB mex file for your   
function. The source code / structure of GetSecs or WaitSecs would be good examples for   
such an approach.  
  
I just changed some #include stuff in the PTB trunk, so that one can build all mex files   
(except Screen) without the need to include the Quicktime-SDK. Then you don't need all   
those hacks anymore to avoid conflicts with Quicktime.  
  
1. Download a fresh copy of the trunk, so you'll get the upates.  
2. Create your own mex file project independent of Screen, e.g., similar to WaitSecs.  
3. Get rid of the include of Quicktime SDK.  
  
Regarding your linker problem: Edit the bottom (starting at line 223) of the file  
  
... trunk/PsychSourceGL/Source/Common/Base/PsychConstants.h   
  
Comment out the line #define EXP // nothing  
Instead add/uncomment the line:  
  
#define EXP \_\_declspec(dllexport)  
  
and then retry. This line is usually needed to tell the linker that mexFunction() is an   
externally accessible function, however it never worked with my setup (Matlab-5 + VisualC  
++98), so i had to disable it.  
  
Tell me if it works. I think you are the first person to touch or try to compile the C code of   
PTB-3 for Windows yourself since it was created 14 months ago, so your experience is a   
bit bumpy, i guess ;-)  
  
good luck,  
-mario  
  
  

> --- In [psychtoolbox@yahoogroups.com](mailto:psychtoolbox@yahoogroups.com), "chelamdelphine" \<chelamdelphine@...\> wrote:  
> \>  
> \> i put in comment some lines (l 38 of PsychMovieSupport.c; l 168 of  
> \> PsychConstants.h; l 10 to 16, l 21 & l 22 of stdbool.h and l 277 to  
> \> 280 of MacTypes.h) now mex create my .obj files but i've got an other  
> \> error :  
> \>   
> \> --\> "link  
> \> /out:"D:\psych\osxptb\trunk\PsychSourceGL\Projects\Windows\build\Screen.mexw32"  
> \> /dll /export:mexFunction /MAP  
> \> /LIBPATH:"C:\PROGRA~1\MATLAB\R2006b\extern\lib\win32\microsoft"  
> \> libmx.lib libmex.lib libmat.lib  
> \> /implib:C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\templib.x  
> \> /MACHINE:X86 kernel32.lib user32.lib gdi32.lib winspool.lib  
> \> comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib  
> \> odbc32.lib odbccp32.lib   
> \> @C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\mex\_tmp.rsp  
> \> "   
> \>   
> \> Microsoft (R) Incremental Linker Version 7.10.3077   
> \> Copyright (C) Microsoft Corporation. All rights reserved.   
> \>   
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychAlphaBlending.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychMovieSupport.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychScreenGlue.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychWindowGlue.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychWindowTextGlue.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\ScreenSurfaces.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychTimeGlue.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\MiniBox.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\ProjectTable.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychAuthors.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychCellGlue.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychError.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychHelp.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychInit.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychInstrument.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychMemory.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychRegisterProject.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychStructGlue.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychVersioning.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\glew.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\MODULEVersion.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychGLGlue.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychImagingPipelineSupport.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychRects.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychTextureSupport.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychVideoCaptureSupport.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\PsychWindowSupport.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\RegisterProject.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\ScreenArguments.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENBlendFunction.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENClearTimeList.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENClose.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENCloseAll.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENCloseMovie.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENCloseVideoCapture.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENColorRange.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENComputer.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENCopyWindow.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENDrawDots.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENDrawingFinished.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENDrawLine.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENDrawLines.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENDrawText.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENDrawTexture.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\ScreenExit.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENFillArc.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENFillOval.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENFillPoly.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENFillRect.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENFlip.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENFrameOval.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENFramePoly.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENFrameRect.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGamma.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGetCapturedImage.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGetFlipInterval.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGetImage.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGetMouseHelper.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGetMovieImage.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGetMovieTimeIndex.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGetOpenGLTexture.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGetTimeList.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E  
> \SCREENglMatrixFunctionWrappers.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENGlobalRect.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENglPoint.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENgluDisk.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENHideCursorHelper.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENHookFunction.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENInitIntrinsicPreferences.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENIsOffscreen.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENLineStipple.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENLoadCLUT.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E  
> \SCREENLoadNormalizedGammaTable.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENMakeTexture.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENNominalFrameRate.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENNull.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENOpenMovie.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENOpenOffscreenWindow.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENOpenVideoCapture.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENOpenWindow.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENPixelSize.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENPixelSizes.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENPlayMovie.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENPreference.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\ScreenPreferenceState.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENPreloadTextures.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENPutImage.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E  
> \SCREENReadNormalizedGammaTable.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENRect.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENScreens.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENSelectStereoDrawBuffer.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENSetGLSynchronous.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENSetMouseHelper.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENSetMovieTimeIndex.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENSetOpenGLTexture.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E  
> \SCREENSetOpenGLTextureFromMemPointer.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E  
> \SCREENSetVideoCaptureParameter.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENShowCursorHelper.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENStartVideoCapture.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENStopVideoCapture.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\ScreenSynopsis.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTestStructures.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTestTexture.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTestTextureTwo.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTextBackgroundColor.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTextBounds.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTextColor.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTextFont.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTextMode.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTextModes.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTextSize.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENTextStyle.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\ScreenTypes.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENUpdateShadow.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENWaitBlanking.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENWindowKind.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENWindows.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENWindowScreenNumber.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\SCREENWindowSize.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\TimeLists.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\WindowBank.obj  
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\WindowHelpers.obj  
> \> user32.lib gdi32.lib advapi32.lib glu32.lib opengl32.lib  
> \> qtmlclient.lib ddraw.lib   
> \> LINK : error LNK2001: unresolved external symbol mexFunction   
> \> C:\DOCUME~1\ANDREI~1\LOCALS~1\Temp  
> \mex\_D36807C4-396A-4C11-8CA4-052B4AF5309E\templib.x  
> \> : fatal error LNK1120: 1 unresolved externals   
> \> LINK : fatal error LNK1141: failure during build of exports file   
> \>   
> \> C:\PROGRA~1\MATLAB\R2006B\BIN\MEX.PL: Error: Link of  
> \> 'D:\psych\osxptb\trunk\PsychSourceGL\Projects\Windows\build\Screen.mexw32'  
> \> failed.   
> \>   
> \> ??? Error using ==\> mex  
> \> Unable to complete successfully.  
> \>   
> \> Error in ==\> makeit2 at 3  
> \> mex -v -outdir  
> \> D:\psych\osxptb\trunk\PsychSourceGL\Projects\Windows\build\ -output  
> \> Screen -IC:\PROGRA~1\MICROS~1.NET\Vc7\PlatformSDK\Include  
> \> -LC:\PROGRA~1\MICROS~1.NET\Vc7\PlatformSDK\Lib -IC:\SDK\Qu  
> \>

---

<div class="post-metadata">

**Author:** ![chelamdelphine](https://avatars.discourse-cdn.com/v4/letter/c/c57346/32.png) [@chelamdelphine](https://psychtoolbox.discourse.group/u/chelamdelphine)\
**Post date:** [March 19, 2007, 9:36am UTC](https://psychtoolbox.discourse.group/t/psychtoolbox-makeit/1372/4 "2007-03-19T09:36:57Z")

</div>

it's ok, i can build the project now.  
getTablet will be similar with getMouse but for a graphics tablet.  
thanks for your help  
  
delphine

---

<div class="post-metadata">

**Author:** ![chelamdelphine](https://avatars.discourse-cdn.com/v4/letter/c/c57346/32.png) [@chelamdelphine](https://psychtoolbox.discourse.group/u/chelamdelphine)\
**Post date:** [March 20, 2007, 9:52am UTC](https://psychtoolbox.discourse.group/t/psychtoolbox-makeit/1372/5 "2007-03-20T09:52:43Z")

</div>

> \> Does it work by following my suggestions, ie. latest trunk revision,

excluding Quicktime,   

> \> declspec(dllexport)?

yes i get the lastest trunk version but i didn't comment out the ligne   
#define EXP // nothing   
and i didn't uncomment the line   
#define EXP \_\_declspec(dllexport)  
  

> \> Did you create a separate mex file? Does it need special drivers?

i didn't create a separate mex file. I build the project with  
"microsoft visual studio .net". i added "winmm.lib" in the librairies.  
I comment the ligne  
typedef boolean mxLogical;  
in "psychConstant.h". I added all the .c files which was in the  
"Screen " folder but which was not in the project. And to finish i  
added a "MexWindowsExports.def" file in the project :   
LIBRARY Screen  
EXPORTS  
 mexFunction  
For GetTablet, it need the Wintab driver.  
  

> \> If it is a clean solution with separate mex file it would be good to

integrate it into the official   

> \> distro -- more benefit for other users, less maintenance work for you.

To open the tablet context i need the identifier of the window so i  
don't think i can use a separate mex file, do you?  
  
best,  
delphine
