'Beta' releases of the VC dependencies packages

For help with anything that CEGUI doesn't offer straight out-of-the-box, e.g.:
- Implementation of new features, such as new Core classes, widgets, WindowRenderers, etc. ...
- Modification of any existing features for specific purposes
- Integration of CEGUI in new engines or frameworks and writing of new plugins (Renderer, Parser, ...) or modules

Moderators: CEGUI MVP, CEGUI Team

User avatar
mickyoun
Just popping in
Just popping in
Posts: 9
Joined: Wed Jan 12, 2005 12:06
Location: france
Contact:

'Beta' releases of the VC dependencies packages

Postby mickyoun » Thu Aug 05, 2004 18:10

excuse me I forget login.

so : plateform windows

I use visual c++ 7.1 .net 2003 and OGRE

and your dependencies for cegui_mk2

-> Common files (includes) (~4MB)
->Compiled library files for MSVC++ 7.1 (.Net 2003) (~6.5MB)


PS:
I could receive source code for gui_demo using cegui_mk2?

my code is simple:

Code: Select all

#include <CEGUI.h>
#include <renderers/OgreGUIRenderer/ogrerenderer.h>
#include "ExampleApplication.h"
#include "OgreEventQueue.h"


class Jeu : public ExampleApplication
{
public:
    Jeu() {}
   

   void cleanup(void)
   {
   delete CEGUI::System::getSingletonPtr();

   if (mGUIRenderer)
   {
      delete mGUIRenderer;
      mGUIRenderer = NULL;
   }

   }


CEGUI::OgreRenderer* mGUIRenderer;

   
protected:
//CEGUI::OgreRenderer* mGUIRenderer;


    // Just override the mandatory create scene method
    void createScene(void)
    {
    using namespace CEGUI;

        // Set ambient light
        mSceneMgr->setAmbientLight(ColourValue(0.5, 0.5, 0.5));

        // Position the camera
        mCamera->setPosition(100,50,100);
        mCamera->lookAt(-50,50,0);


      mWindow->setDebugText("essai");
       

      // setup GUI system
      mGUIRenderer = new CEGUI::OgreRenderer(mWindow, Ogre::RENDER_QUEUE_OVERLAY, false, 1000);
   new CEGUI::System(mGUIRenderer);
  }

};


User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

'Beta' releases of the VC dependencies packages

Postby CrazyEddie » Thu Aug 05, 2004 18:30

Thanks for the extra information. This is basically the the same set-up as I use for development (except for the Ogre version), so you should get the least amount of problems.

That error looks a little odd. Are you targetting the managed CLR or something? :) If so I have no idea how to get it to work, but I will say that many people seem to have similar issues. If you're trying to build normally, I'll grab Ogre 0.14.1 first thing tomorrow and see if I can find out what is going on.

CE.

Edit:
Forgot the bit about demo source :oops:
Ogre/CEGUI demos 4, 6, and 7 all have source code included.
Demo 4
Demo 6
Demo 7

User avatar
mickyoun
Just popping in
Just popping in
Posts: 9
Joined: Wed Jan 12, 2005 12:06
Location: france
Contact:

'Beta' releases of the VC dependencies packages

Postby mickyoun » Thu Aug 05, 2004 18:50

thanks

I try resolve problem of destructor

User avatar
mickyoun
Just popping in
Just popping in
Posts: 9
Joined: Wed Jan 12, 2005 12:06
Location: france
Contact:

'Beta' releases of the VC dependencies packages

Postby mickyoun » Thu Aug 05, 2004 22:27

i try compile demo but I have same error on __dtor

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

'Beta' releases of the VC dependencies packages

Postby CrazyEddie » Fri Aug 06, 2004 08:15

Okay I'm going to test this - Ogre 0.14.1 with CEGUI CVS snapshot, on VC7.1.

I'll report back a little later with the results...

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

'Beta' releases of the VC dependencies packages

Postby CrazyEddie » Fri Aug 06, 2004 13:16

Okay, here's what I did.

Ogre 0.14.1 release package + dependencies for 0.13.
CEGUI CVS snapshot zip.
CEGUI Common dependencies package.
CEGUI VC7.1 dependencies package.

Ogre:
batch build, all projects.

CEGUI:
added CEGUI_USEOLDOGRESTRING to preprocessor definitions for OgreGUIRenderer project settings.
changed Ogremain_d.lib to Ogremain.lib in linker input settings for debug config for OgreGUIRenderer project.
Compiled - no errors.

What ever errors you are getting must be related to your specific set up and / or any modifications made. I can't reproduce the problem here. Any additional information may be useful, though at present I have no idea why you are getting the errors that you are :?

Also note that some of the demo projects contain references to the missing lua scripting module, these can be safely removed as they are not used.

CE.

User avatar
mickyoun
Just popping in
Just popping in
Posts: 9
Joined: Wed Jan 12, 2005 12:06
Location: france
Contact:

'Beta' releases of the VC dependencies packages

Postby mickyoun » Fri Aug 06, 2004 14:55

I have no problem with the compilation of CEGUI CVS!
But with the compilation of the demo or my code.
I always have an error on

Code: Select all

mGUIRenderer = new CEGUI:: OgreRenderer (mWindow, Ogre:: RENDER_QUEUE_OVERLAY, false, 1000);


. __ dtor error

Impossible to compile the demo or my code

User avatar
mickyoun
Just popping in
Just popping in
Posts: 9
Joined: Wed Jan 12, 2005 12:06
Location: france
Contact:

'Beta' releases of the VC dependencies packages

Postby mickyoun » Fri Aug 06, 2004 15:38

I resolved problem
But I do not know of or he came
Indeed, I have compile the demo has to leave its sln

And it works enjoy :P

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

'Beta' releases of the VC dependencies packages

Postby CrazyEddie » Fri Aug 06, 2004 18:04

Hehe :) Okay. Cool. At least you have it compiling okay now.

User avatar
Toxic
Just popping in
Just popping in
Posts: 8
Joined: Wed Jan 12, 2005 12:06

'Beta' releases of the VC dependencies packages

Postby Toxic » Tue Aug 10, 2004 12:09

Im using VC6 SP4, cvs Ogre, STLPort4.6.

I 1st tried to compile with the cvs version from boost, but failed utterly (s.b.).
Now i tried to use the dependency packages above and end up with:

debug - CEGUI compiles ok.

but then building my project:
warning: STLPort debug versions are built with /D_STLP_DEBUG=1
d:\cvs\cegui_mk2\dependencies\include\boost\config\auto_link.hpp(201) : fatal error C1189: #error : "Build options aren't compatible with pre-built libraries"

release - linker error on CEGUI:

libboost_regex-vc6-mt-p-1_31.lib(instances.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall _STL::allocator<char>::deallocate(char *,unsigned int)const " (__imp_?deallocate@?$allocator@D@_STL@@QBEXPADI@
Z)

The ideal of course would be that I can use my own compiled boost version, but i get a lot of "already defined" as well as "unresolved external" linker errors. :(

release with cvs boost (debug about the same): ibboost_signals-vc6-mt-p-1_31.lib(connection.obj) : error LNK2005: "public: __thiscall boost::signals::connection::connection(class boost::signals::connection const &)" (??0connection@signals@boost@@QAE@ABV012@@Z) already defined in CEGUIEventSet.o
bj
libboost_signals-vc6-mt-p-1_31.lib(connection.obj) : error LNK2005: "public: __thiscall boost::signals::connection::~connection(void)" (??1connection@signals@boost@@QAE@XZ) already defined in CEGUIButtonBase.obj
libboost_signals-vc6-mt-p-1_31.lib(connection.obj) : warning LNK4006: "public: __thiscall boost::signals::connection::connection(class boost::signals::connection const &)" (??0connection@signals@boost@@QAE@ABV012@@Z) already defined in CEGUIEventSet
.obj; second definition ignored
libboost_signals-vc6-mt-p-1_31.lib(connection.obj) : warning LNK4006: "public: __thiscall boost::signals::connection::~connection(void)" (??1connection@signals@boost@@QAE@XZ) already defined in CEGUIButtonBase.obj; second definition ignored
Creating library ../../../../lib/win32/release/CEGUIBase.lib and object ../../../../lib/win32/release/CEGUIBase.exp
CEGUIWindowManager.obj : error LNK2001: unresolved external symbol "public: __thiscall boost::signals::detail::signal_base::signal_base(class boost::function2<bool,class boost::any,class boost::any,int> const &)" (??0signal_base@detail@signals@boost
@@QAE@ABV?$function2@_NVany@boost@@V12@H@3@@Z)

... etc.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

'Beta' releases of the VC dependencies packages

Postby CrazyEddie » Tue Aug 10, 2004 12:45

Boy do I regret using boost, :lol:

Im using VC6 SP4, cvs Ogre, STLPort4.6.

I 1st tried to compile with the cvs version from boost, but failed utterly (s.b.).
Now i tried to use the dependency packages above and end up with:

debug - CEGUI compiles ok.

but then building my project:
warning: STLPort debug versions are built with /D_STLP_DEBUG=1
d:\cvs\cegui_mk2\dependencies\include\boost\config\auto_link.hpp(201) : fatal error C1189: #error : "Build options aren't compatible with pre-built libraries"

You need to define the symbol _STLP_DEBUG in your project preprocessor definitions for the debug configuration.

release - linker error on CEGUI:

libboost_regex-vc6-mt-p-1_31.lib(instances.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall _STL::allocator<char>::deallocate(char *,unsigned int)const " (__imp_?deallocate@?$allocator@D@_STL@@QBEXPADI@
Z)

The pre-compiled libs were made with STLport 4.5.3, this may be the cause of this linking error, but I have not confirmed this at the moment.

The ideal of course would be that I can use my own compiled boost version, but i get a lot of "already defined" as well as "undefined symbol" liker errors. :(

release with cvs boost (debug about the same): ibboost_signals-vc6-mt-p-1_31.lib(connection.obj) : error LNK2005: "public: __thiscall boost::signals::connection::connection(class boost::signals::connection const &)" (??0connection@signals@boost@@QAE@ABV012@@Z) already defined in CEGUIEventSet.o
bj
<snipped other errors>

These errors are probably caused by a mismatch between the headers in the dependencies folder, and the headers in the CVS boost you are using. You might try deleting the dependencies/include/boost directory and doing a full rebuild of everything, ensuring your CVS boost headers folder is in the include search path.

CE.

User avatar
Toxic
Just popping in
Just popping in
Posts: 8
Joined: Wed Jan 12, 2005 12:06

'Beta' releases of the VC dependencies packages

Postby Toxic » Tue Aug 10, 2004 12:59

Thnx a lot for the quick answer.

--

My project (debug):
I set _STLP_DEBUG but now I end up with:
LINK : fatal error LNK1104: cannot open file "libboost_signals-vc6-mt-sgdp-1_31.lib"

With the manually build from boost: I double checked to have the right headers included, even set some pragma messages in the headers and got rid of all other versions of those headers.
But maybe I did something wrong building boost, I will rebuild it - this will take some time. :}

--

User avatar
saetrum
Quite a regular
Quite a regular
Posts: 55
Joined: Wed Jan 12, 2005 12:06
Location: Albuquerque, NM USA

'Beta' releases of the VC dependencies packages

Postby saetrum » Tue Aug 10, 2004 12:59

Toxic,

I'm also using version VC 6 SP4

I couldn't get the pre-built dependencies to work with STLPort 4.6, I had to use 4.5.3.

That should help with the linking error, but as CE said you do have to define _STLP_DEBUG.

Here is some instructions CE gave to me, and after I followed them, I have no problems:
Okay, this is what I have done this morning.

Using Ogre CVS from this morning, CEGUI CVS from this morning, pre-built VC6 dependencies for cegui and STLport 4.5.3. Plus Demo 7 source, using the project files for VC6 I sent you the other day.

I first built everything as-is, then started checking the dependencies for all of the components. Everything was as it should have been except the fact that the debug build of Ogre under VC6 was not using the debug C++ runtime (that is, all the Ogre projects are missing the definition for _STLP_DEBUG). This was causing exceptions due to memory checking, since CEGUI (using debug runtime) and Ogre (using non-debug runtime) were operating using different heaps. I added this definition (then the /Zm200 switch due to compiler errors in some projects) and recompiled - everything okay (just got some warnings about truncated symbol names).

With this issue resolved, I then found that changes in the CEGUI code since the release of Demo 7 required me to copy the updated XML schemas from the 'cegui_mk2/XMLRefSchema' directory into the demo .exe directory, and also the updated TaharezImageset.xml file.

Having done all this, the system does run normally under the Debug build without any issues at all.

My advice here then, would normally be that the Ogre projects should be recompiled with _SLTP_DEBUG defined. However, the exceptions you were getting were not the same as the ones I was getting, therefore it seems that somehow you're already getting the correct runtimes linked in (though this is very strange if none of the projects have been modified).


Hope that helps.

Good luck!
There are 10 types of people in the world: those that understand binary and those that don't.

User avatar
Toxic
Just popping in
Just popping in
Posts: 8
Joined: Wed Jan 12, 2005 12:06

'Beta' releases of the VC dependencies packages

Postby Toxic » Tue Aug 10, 2004 13:43

Thnx saetrum, but it seems just not right that in order to get a lib working (even if its as great as CEGUI ;) ) to downgrade (in case of STLPort) to older versions of other libs.


Return to “Modifications / Integrations / Customisations”

Who is online

Users browsing this forum: No registered users and 5 guests