PDA

View Full Version : Need help with Vincent



ccsophea
02-04-2005, 08:53 AM
Dear all,

I am very new to OpenGL ES. I download Vincent "ogl-es-bin-0.83" and configure with eMbedded VC++ 4.0 SP3 and with SDK Pocket PC 2003. I try to compile "hello.c" come with "ogles-0.82-samples". It could be compiled. But when i click on link button, it shows errors:

Linking...
ug.lib(ug_win32.obj) : error LNK2019: unresolved external symbol __imp__SHSipInfo referenced in function _UpdateWindowPosition
ug.lib(ug_win32.obj) : error LNK2019: unresolved external symbol __imp__SHCreateMenuBar referenced in function _ugCreateWindow
ug.lib(ug_win32.obj) : error LNK2019: unresolved external symbol __imp__SHHandleWMSettingChange referenced in function _WndProc
ug.lib(ug_win32.obj) : error LNK2019: unresolved external symbol __imp__SHHandleWMActivate referenced in function _WndProc
emulatorDbg/hello.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.

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

Could anyone help me about that?

I am also looking for tutorial of how to set up development environment for OpenGL ES (Set up Vincent, Gerbera, Brew etc). Why no one wrote a complete tutorial about that? It is a bit difficult for a newbie to start with OpenGL ES.

Thank you very much.

Sophea

DaveR
02-04-2005, 07:02 PM
Try this (http://ogl-es.sourceforge.net/developers_guide.htm).

[ February 04, 2005: Message edited by: DaveR ]

ccsophea
02-04-2005, 10:20 PM
I try to follow the developer guide of Vincent. But it still does not work. I really do not know how to fix that problem.

Thanks

Sophea

hmwill
02-05-2005, 12:01 PM
Where did you get the emulatorDbg configuration from? Vincent should built its targets into bin/emu/Debug. In any case, it looks to me that the Windows Mobile shell link library aygshell.lib is missing.

- HM

ccsophea
02-06-2005, 08:51 AM
I downloaded the binery version from vincent homepage.

ogl-es-bin-0.83\dist\bin\emu\Debug

Can I use that instead of building from the source? If not, could you show me how to build?

Thank you very much.

Sophea

hmwill
02-06-2005, 09:44 AM
Asaid before, the functions you are missing are from the Pocket PC SDK, so changing the distribution should not make a difference. The build log should look as follows:



All you have to do is to take either the source or the binary download of Vincent from the web site, and expand the redbook samples at the same level as /src or /include.

There is no need to add any configuration. Use "POCKET PC 2003" / "Win2 (WCE emulator) Debug" for your case.

- HM

[ February 06, 2005: Message edited by: Hans-Martin Will ]

ccsophea
02-06-2005, 04:42 PM
It is still not working yet.

Let me describe the step that i first configure Vincent and SDK Pocket PC 2003

1- I download "ogl-es-bin-0.83". That folder has "ogl-es-bin-0.83\dist\bin" and "ogl-es-bin-0.83\dist\include"

2- Copy "GLES" folder and "ug.h" file to
"Windows CE Tools\wce420\POCKET PC 2003\Include\Emulator"

3- There are 5 files in "ogl-es-bin-0.83\dist\bin\emu\Debug". I copy "libGLES_CM.dll" to WINDOWNS\System32
and "libGLES_CM.lib", "ug.lib" and "codegen.lib" to "POCKET PC 2003\Lib\emulator"

4- download "ogles-0.82-samples\ogles-0.82-samples\redbook" and put the redbook folder on my desktop. Open "hello.c" with eVC++4.
I select "POCKET PC 2003", "Win32(WCE Emulator)Debug" and "POCKET PC Emulator".
When I click build, it shows many erros:

--------------------Configuration: hello - Win32 (WCE emulator) Debug--------------------
Linking...
hello.obj : error LNK2019: unresolved external symbol _ugSwapBuffers referenced in function _display
hello.obj : error LNK2019: unresolved external symbol __imp__glFlush referenced in function _display
hello.obj : error LNK2019: unresolved external symbol __imp__glDrawArrays referenced in function _display
hello.obj : error LNK2019: unresolved external symbol __imp__glColor4f referenced in function _display
hello.obj : error LNK2019: unresolved external symbol __imp__glClear referenced in function _display
hello.obj : error LNK2019: unresolved external symbol __imp__glEnableClientState referenced in function _init
hello.obj : error LNK2019: unresolved external symbol __imp__glVertexPointer referenced in function _init
hello.obj : error LNK2019: unresolved external symbol __imp__glOrthof referenced in function _init
hello.obj : error LNK2019: unresolved external symbol __imp__glLoadIdentity referenced in function _init
hello.obj : error LNK2019: unresolved external symbol __imp__glMatrixMode referenced in function _init
hello.obj : error LNK2019: unresolved external symbol __imp__glClearColor referenced in function _init
hello.obj : error LNK2019: unresolved external symbol _ugMainLoop referenced in function _main
hello.obj : error LNK2019: unresolved external symbol _ugDisplayFunc referenced in function _main
hello.obj : error LNK2019: unresolved external symbol _ugCreateWindow referenced in function _main
hello.obj : error LNK2019: unresolved external symbol _ugInit referenced in function _main
corelibc.lib(pegwmain.obj) : error LNK2019: unresolved external symbol _WinMain referenced in function _WinMainCRTStartup
emulatorDbg/hello.exe : fatal error LNK1120: 16 unresolved externals
Error executing link.exe.

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

So, I go to Project->Setting and Select setting for Win32(WCE Emulator)Debug. Then, I click on the Link tab and add "libGLES_CM.lib ug.lib" to Objects and Library modules.

I click build again and then i still get some errors:

--------------------Configuration: hello - Win32 (WCE emulator) Debug--------------------
Linking...
ug.lib(ug_win32.obj) : error LNK2019: unresolved external symbol __imp__SHSipInfo referenced in function _UpdateWindowPosition
ug.lib(ug_win32.obj) : error LNK2019: unresolved external symbol __imp__SHCreateMenuBar referenced in function _ugCreateWindow
ug.lib(ug_win32.obj) : error LNK2019: unresolved external symbol __imp__SHHandleWMSettingChange referenced in function _WndProc
ug.lib(ug_win32.obj) : error LNK2019: unresolved external symbol __imp__SHHandleWMActivate referenced in function _WndProc
emulatorDbg/hello.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.

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

I do not clearly understand your explanation. I still could not config it. Did I miss any step of cofiguration?

Thank you very much

Sophea

hmwill
02-06-2005, 05:29 PM
Yeah, all wrong... ;-)

Take, say, the binary distribution of Vincent. Expand it on your harddrive.

Expand the redbook samples into this folder (such that redbook is at the same level as include, bin, ...)

Open the workspace that comes with the samples (i.e. the one in redbook/eVC4), select your program of choice, and build.

The only thing you need to copy is the .dll file. To copy it, you need to use the remote file viewer that you can access from the tools menu in eVC.

Anyway, since you decided not to use any of the project workspaces that come with the samples: As mentioned before, you are missing aygshell.lib in your linker settings.

- HM
PS: I would undo steps 2 and 3 that you listed above; you definitively do not want the libGLES_CM.dll (which is either for a mobile device or a device emulator) in your desktop windows installation.

[ February 06, 2005: Message edited by: Hans-Martin Will ]

ccsophea
02-06-2005, 08:21 PM
Thank you very much HM. It works right now.

But I am so clear how to develop new project. Are there any way that i could just open for example "hello.c" by not open the project files "hello.vcb"? How to freshly set up eVC++4 to develop OpenGL ES code?

Thanks again for help.

Regards,

Sophea

ccsophea
02-06-2005, 08:26 PM
Recently, I saw the release of "GLUT|ES V1.0". Is it possible to use that utility tool kit with Vincent?

Thank you very much.

Sophea