Page 1 of 1

(solved) Building debug dll's in MSVC9.0

Posted: Sun Feb 03, 2008 09:43
by Ivanovich78
Hi,
I'm having some troubles running CEGUI using msvc9.0, 2008 Express edition. Firstly I downloaded and tried with CEGUI-SDK-0.5.0b-vc8 prebuilt, wich was running fine until I used certain cegui functions. For example I was able to load an scheme file or render a scheme created by myself with layout editor, but (i.e.) I wasn't able to subscribe an event or to use "getSingleTon().getwindow()" function. The code compiled fine but application crash at runtime using some functions.

In that circumstances, I tried to run CEGUI using debug library, but for some reason the program crashed at start. Then I thought that compile code from source should be the better option in order to debug my code, so that's what I've done.

I've compiled debug version of CEGUI succesfully using premake file for msvc8.0 (remember I'm using vc9.0), but with about 40 warnings, most of them telling me that "freetype" and "pcre" libraries were compiled with vc8.0, and debug info will not be available. The warnings are:

Code: Select all

Warning   1   Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release   cl
Warning   4   warning C4244: '=' : conversion from 'int' to 'float', possible loss of data   g:\c++\code reuse\cegui-0.5-0-rc2\src\ceguipixmapfont.cpp   155
Warning   2   warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data   g:\c++\code reuse\cegui-0.5-0-rc2\src\ceguifont.cpp   88
Warning   3   warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data   g:\c++\code reuse\cegui-0.5-0-rc2\src\ceguifont.cpp   88
Warning   5   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   6   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   7   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   8   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   9   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   10   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   11   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   12   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   13   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   14   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   15   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   16   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   17   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   18   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   19   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   20   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   21   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   22   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   23   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   24   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   25   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   26   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   27   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   28   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\freetype221_D.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   freetype221_D.lib
Warning   29   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib
Warning   30   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib
Warning   31   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib
Warning   32   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib
Warning   33   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib
Warning   34   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib
Warning   35   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib
Warning   36   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib
Warning   37   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib
Warning   38   warning LNK4099: PDB 'vc80.pdb' was not found with '../../../lib\pcre_d.lib' or at 'g:\C++\Code Reuse\CEGUI-0.5-0-RC2\bin\vc80.pdb'; linking object as if no debug info   pcre_d.lib



The current problem is that I cannot still run my application with debug library of cegui compiled by myself. When tha application starts I obtain the message

Code: Select all

---------------------------
Cosmic Memories.exe - Application Error
---------------------------
The application failed to initialize properly (0xc0150002). Click on OK to terminate the application.
---------------------------


and the output log is:

Code: Select all

'Cosmic Memories.exe': Loaded 'G:\C++\Projects\openGL\Cosmic Memories\Debug\Cosmic Memories.exe', Symbols loaded.
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\ntdll.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\kernel32.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\opengl32.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\msvcrt.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\advapi32.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\rpcrt4.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\secur32.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\gdi32.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\user32.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\glu32.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\ddraw.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\dciman32.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\SDL.dll', Binary was not built with debug information.
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\winmm.dll'
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\SDL_image.dll', Binary was not built with debug information.
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\SDL_mixer.dll', Binary was not built with debug information.
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\SDL_ttf.dll', Binary was not built with debug information.
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\libfreetype-6.dll', Binary was not built with debug information.
'Cosmic Memories.exe': Loaded 'D:\WINDOWS\system32\zlib1.dll', Binary was not built with debug information.
'Cosmic Memories.exe': Loaded 'G:\C++\Projects\openGL\Cosmic Memories\Debug\CEGUIBase_d.dll'
LDR: LdrpWalkImportDescriptor() failed to probe g:\C++\Projects\openGL\Cosmic Memories\Debug\CEGUIBase_d.dll for its manifest, ntstatus 0xc0150002
Debugger:: An unhandled non-continuable exception was thrown during process load
The program '[3948] Cosmic Memories.exe: Native' has exited with code -1072365566 (0xc0150002).


It looks like if some Manifest-strange-thing is missing.
On the other hand, it looks like that could be a good idea to compile dependencies with vc9.0.
Any idea what's going on?

Posted: Sun Feb 03, 2008 11:02
by CrazyEddie
Hi,

You really need a version built for your compiler - which does not exist at this time.

It is my intention to issue dependency packages and a prebuilt binary CEGUI 0.5 version for VC++ 9 / 2008 later on today. I am actually working on this as I type.

Watch this space.

Posted: Sun Feb 03, 2008 15:26
by CrazyEddie
Ok, the packages have been made available.

See this thread for the announcement.

CE.

Posted: Sun Feb 03, 2008 16:06
by Ivanovich78
Thanks a lot. I'm going to test it this afternoon. I'll post my impressions later in the new thread.

Posted: Sun Feb 03, 2008 17:41
by Ivanovich78
Ok, I've no permission for write in new thread, so I write here:
All seems to be working fine now. Thank you! :)

Posted: Mon Feb 04, 2008 08:48
by CrazyEddie
Cool, I'm glad it's working for you.