How to get started with Vincent?


I downloaded the binaries and source for Vincent. Can somebody help me get started with a test project using VC++ 6.0 ?


Vincent is for use with the embedded version of Visual C++, i.e. embedded Visual C++ 4.0 SP3. You can download it for free from the Microsoft web site (to install it alongside with VC++ 6.0), or there is a link in the Vincent references to a CD distribution you can order (it’s cheap, you only pay shipping). If you want to develop on VC++ 6.0 targeting windows desktop, the reference implementation should work for you.

Hope that helps.

  • hm

I had dowloaded and installed Embedded VC++ 4.0 SP3. Do I need PocketPC and Smartphone SDKs and Emulators ?

Also how can I develop OpenGLES application using Vincent and eMbedded VC++, does somebody has an example program ?



Also when I try to start Embedded VC++ it says “Microsoft eMbedded Visual C++ has discovered no CE Platform SDK installed on the desktop”. What else do I need to install ?


Yes you need at least either the SDK for Pocket PC or for Smartphone. Similar to how you need the platform SDK to develop for Windows desktop. There is also a getting started guide somewhere on MSDN.

Example programs:

From the Vincent project homepage you can download several redbook samples converted to OpenGL ES/Pocket PC. Just expand this zip file within the binary distribution (so ./redbook is at the same level as ./include and /bin), and you should be ready to go.

  • hm


I tried running the hello.vcp project. It say it could not link “GLES_CL.lib”. As you mentioned I moved the redbook examples to same level as /include and /bin both in C:Temp for now.


I just tried using the downloads and I do not have any problems. The binary distribution includes pre-built libraries for the emulator [Win32 (WCE emulator)] and the regular ARM configuration [Win32 (WCE ARMV4)].

Also, you need to select the target platform for a successful built (e.g. Pocket PC 2003).

Let me know if you have still problems resolving this issue.

Hope that helps,


Below are the step I took:

  1. Installed Embedded VC++ 4.0
  2. Installed Embedded VC++ 4.0 SP3
  3. Installed PocketPC 2003 SDK
  4. Installed Emulator for PocketPC 2003 second edition.

All of the above into C:\Program Files.

  1. Extracted Vincent (binaries and redbook) into C:Temp.
  2. Moved redbook inside the binaries (/bin & /include) directory i.e all (/bin, /include & /redbook) are inside say ogl-es-v081 which is the extracted directory.

When I open the examples in /redbook/evc4 and try to execute, the pocketPC comes up but later the embedded VC++ IDE gives me an error saying it could not find e32def.h which is included in both egl.h and egltypes.h and also GLES_CL.lib.
Below is the error message for the “hello.vcp” program:

--------------------Configuration: hello - Win32 (WCE ARMV4) Release XScale--------------------
LINK : fatal error LNK1181: cannot open input file ‘GLES_CL.lib’
Error executing link.exe.

hello.exe - 1 error(s), 0 warning(s)

-> Do I need to move the GLES headers, libraries and dlls to their appropriate directories like we do for OpenGL (into the VC++/vc6/include/GL/ and /lib and the dlls into System32)

-> Also for some reason I am not able to copy GLES_CL.lib individually.

It’s is simple - any OGL program you compile - needs to know where the OGL library is (‘GLES_CL.lib’)

So you just have to add it project’s linker properties (Right click on the test project, select Settings… the Linker tab; then in Category choose Input; add GLES_CL.lib to Object/library modules) Make sure that you added the lib folder where you have GLES_CL.lib to Tools->Options->Directories->Library files for your project and configuration you build (i.e PocketPC Emulator Release)

It is also described here:

I still couldn’t get it working. Its making me sick. Ok!

  1. I had extracted “ogl-bin-0.81 & redbook” into C:/Temp.

  2. Then I copied "redbook " inside ogl-bin-0.81 directory so that /bin, /include and /redbook all are the same level inside ogl-bin-0.81.

  3. I went inside C:/Temp/ogl-bin-0.81/redbook/evc4/ and opened “hello.vcp”

  4. Please watch for the WCE Configuration bar to check if everything is correct.

  5. for include path.

  6. for library path. Should the library path point to GLES_CL.LIB in C:/Temp/ogl-bin-0.81/bin/emu/Debug/ or /Release/
    Should the library path point to GLES_CL.LIB in C:/Temp/ogl-bin-0.81/bin/arm/Debug/ or /Release/

I used the one in C:/Temp/ogl-bin-0.81/bin/emu/Debug/.

  1. The GLES_CL.DLL are also available in the above mentioned directories. Do I need to move from there to C:/Temp/ogl-bin-0.81/redbook/evc4/ ?

  2. Now when I execute the program “!” button in EVC++ it says:
    "C:\Temp\ogl-bin-0.81\include\GLES\gl.h(44): Could not find the file e32def.h.

C:\Temp\ogl-bin-0.81\include\GLES\egltypes.h(38): Could not find the file e32def.h."

Where can find these files ? Regardles of the above message it prompts “C:/Temp/ogl-bin-0.81/bin/emu/Debug/hello.exe. This file does not exist. Do you want to build it ?”

If I say yes below is the error message it prints and opens a popup window displaying “Cannot execute program”:

“Downloading files
Downloading file c:\documents and settings\arun…\bin\emu\debug\hello.exe.
Finished downloading.”

Hope to resolve this problem soon and get started using the actual OpenGL ES.


Hi dimensionX,

your problem is very simple and I am sorry for your frustration. In any case, your problems seem to be more related to the learning curve of using the embedded tool chain and device development in general.

As said, the binary distribution contains libraries for the Emulator and ARM. If you look into the log file you pasted into your posting above, you can see that you are trying to build the XScale version, which is currently not included.

Just go to the “configuration” selector in eVC and change to Win32 (WCE ARMV5) Debug ARM or Win32 (WCE ARMV5) Release ARM to build for a real Pocket PC attached to your computer, and set it to Win32 (WCE emulator) Debug or Win32 (WCE emulator) Release to build for the emualator.

There is another point: You cannot execute a version built for a device within the emulator and vice versa. That’s your “cannot execute message”. The reason is that for the emulator (and the same principle holds for Symbian development) you are using an x86 compiler, while for the device you are using a compiler targeting the ARM platform.

As mentioned before, the reason for currently not including XScale versions are issues with the current version of the Intel C++ compiler, which currently prevent me from successful builds for this configuration. The compiler patch to address those has been made available this weekend, but I haven’t gotten around to try it out yet. In any case, you don’t need the XScale version to get started.

And, one more: You might need to copy the DLLs onto the device/into the emulator. For that task you’ll find in the “Tools” menu an entry “Remote File Viewer”. This will open up an explorer-style tool that allows you to copy files into the file system of your device. System extension dlls such as GLES_CL.dll need to be copied into the \Windows folder on the device or emulator (again: from the arm folder for physical device, from the emu folder for a the Emulator).

Hope that helps.


PS: the e32def.h is a standard include file for Symbian and is not needed for Windows CE builds. You can savely ignore the warning.

PPS: If the redbook samples are copied into the right location (which I think, you did) there should be no need to adjust any include directory or library folder settings.

[ September 07, 2004: Message edited by: Hans-Martin Will ]

Hi Hans,

Thank you for you patience and step by step instructions. Finally it did work and now I can carry on with my work.

I am new to embedded systems never developed or even used one. I am quite comfortable with OpenGL 2.0 and trying to learn OpenGL ES to keep up with the emerging embedded graphics market. I guess the market will start booming in the next 9-12 months.

I dint quite understand but do you know what’s the story with BitBoys ? They claim they have developed hardware acceleration for OpenGLES. Is it released in the US or anywhere else ?

Thank you!

Yoohoo! :slight_smile:

Bitboys: On SIGGRAPH they were saying that they have some customers signed up who’d plan to release devices end of 2005 to early 2006. But, of course, that’s only the info I got…



I have a teapot with beizeir patches evaluated in separate file named Teapot.obj. How can I read the file and load it for rendering ? Is there an <iostream> like in C++ ? Also I dont see a flag for Quads (ex:- GL_QUADS like GL_TRIANGLES) If there isnt one I guess I have to triangulate it again (Oh God!).


There are no quads in ES, sorry… (I guess in a standard tool game dev. chain you would do the conversion in Maya or max).

An older version of the stream library should be there, even though I’m usually not using it. You could use MFC, though…

  • HM

There is SP4 for eVC++

Does it work for Windows Mobile 2003? The info on the download page seems to imply that SP4 is for development for CE 5.0 based systems.

Scrap this, I saw that the info on MS’s page has been updated. However, you might not want this update if you are developing for Smartphone:

<BLOCKQUOTE><font size=“1” face=“Arial, Verdana, Helvetica, sans-serif”>quote:</font><HR>“After installing eVC4 SP4 running the Smartphone 2003 SDK tool spdps.exe results in some or all remote tools no longer functioning properly.”<HR></BLOCKQUOTE>

  • HM

[ September 29, 2004: Message edited by: Hans-Martin Will ]

ok, i’ve downloaded all the sdks and emulator images and stuff from microsoft. every time that i try to start something i get an error saying “you must select a platform” when all the platforms are greyed out and cant be clicked on as in this screenshot:


Difficult to say. Are you sure you installed the different pieces (IDE, SDKs, SPs) in the right order?

  • HM

order? ok, could someone please tell me what i need to install and in what order?