Psychtoolbox makeit

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
i forgot to say that i've installed Visual Studio .NET 2003
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, "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
>
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
> 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