Using CEGUI

For help with general CEGUI usage:
- Questions about the usage of CEGUI and its features, if not explained in the documentation.
- Problems with the CMAKE configuration or problems occuring during the build process/compilation.
- Errors or unexpected behaviour.

Moderators: CEGUI MVP, CEGUI Team

Magmatwister
Just popping in
Just popping in
Posts: 12
Joined: Thu Oct 07, 2010 20:15

Using CEGUI

Postby Magmatwister » Thu Oct 07, 2010 20:17

Hi, I am new to using CEGUI and I followed the instructions on the wiki as best I could (They were vague) and I used the batch files to build the sample solution. However, when I try and compile it, I get the following errors. Can someone please help me.

1>------ Build started: Project: CEGUISampleHelper, Configuration: Debug Win32 ------
1> Win32CEGuiRendererSelector.cpp
1> Win32AppHelper.cpp
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800
1> DeviceReset_Direct3D9.cpp
1> DeviceReset_Direct3D10.cpp
1> CEGuiSample.cpp
1> CEGuiRendererSelector.cpp
1> CEGuiOpenGLBaseApplication.cpp
1>c:\users\\documents\visual studio 2010\projects\l7a7\cegui-0.7.2\samples\common\src\ceguiopenglbaseapplication.cpp(414): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
1>c:\users\\documents\visual studio 2010\projects\l7a7\cegui-0.7.2\samples\common\src\ceguiopenglbaseapplication.cpp(415): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
1>c:\users\\documents\visual studio 2010\projects\l7a7\cegui-0.7.2\samples\common\src\ceguiopenglbaseapplication.cpp(432): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
1>c:\users\\documents\visual studio 2010\projects\l7a7\cegui-0.7.2\samples\common\src\ceguiopenglbaseapplication.cpp(446): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
1> CEGuiOgreBaseApplication.cpp
1> CEGuiIrrlichtBaseApplication.cpp
1> CEGuiDirectFBBaseApplication.cpp
1> CEGuiD3D9BaseApplication.cpp
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800
1> CEGuiD3D10BaseApplication.cpp
1> CEGuiBaseApplication.cpp
1> Generating Code...
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\\Documents\Visual Studio 2010\Projects\L7A7\CEGUI-0.7.2\projects\premake\Samples\common\../../../../bin\CEGUISampleHelper.dll) does not match the Linker's OutputFile property value (C:\Users\\Documents\Visual Studio 2010\Projects\L7A7\CEGUI-0.7.2\bin\CEGUISampleHelper_d.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(CEGUISampleHelper) does not match the Linker's OutputFile property value (CEGUISampleHelper_d). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
1>LINK : fatal error LNK1104: cannot open file 'CEGUIBase_d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

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

Re: Using CEGUI

Postby CrazyEddie » Fri Oct 08, 2010 09:43

You need to generate and build the main CEGUI.sln prior to building the samples solution. While this may not be mentioned in any tutorials, in this developers opinion, it's hardly rocket science.

I will forewarn you that you'll get short shrift around here for not using common sense, but complaining that tutorials and such are not up to scratch. Once you're enlightened, though, please take the time to improve things, if you see the need, by editing the Wiki and/or submitting patches for the main docs.

CE.

Magmatwister
Just popping in
Just popping in
Posts: 12
Joined: Thu Oct 07, 2010 20:15

Re: Using CEGUI

Postby Magmatwister » Fri Oct 08, 2010 20:52

CrazyEddie wrote:You need to generate and build the main CEGUI.sln prior to building the samples solution. While this may not be mentioned in any tutorials, in this developers opinion, it's hardly rocket science.

I will forewarn you that you'll get short shrift around here for not using common sense, but complaining that tutorials and such are not up to scratch. Once you're enlightened, though, please take the time to improve things, if you see the need, by editing the Wiki and/or submitting patches for the main docs.

CE.


You have no idea how many hours of work it's taken me but in the process I have learnt a great deal about the structure of large library's and how to solve many manners of errors. For this I thank you, and I look forward to using your library =]

Magmatwister
Just popping in
Just popping in
Posts: 12
Joined: Thu Oct 07, 2010 20:15

Re: Using CEGUI

Postby Magmatwister » Tue Oct 12, 2010 20:55

Ok so you know how I said earlier I got the samples working... I hadn't tried to integrate it into my project. I have no errors except these and I don't know how to resolve them, because I have copied the entire bin folder of dlls into my main project directory and the errors persist (I assume that they are because of missing dlls). I don't mind if you have to call me an idiot in the process of helping me (I know I am one) but please help =/


1>------ Build started: Project: L7A7, Configuration: Release Win32 ------
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class CEGUI::Direct3D9Renderer & __cdecl CEGUI::Direct3D9Renderer::create(struct IDirect3DDevice9 *)" (__imp_?create@Direct3D9Renderer@CEGUI@@SAAAV12@PAUIDirect3DDevice9@@@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class CEGUI::Direct3D9Renderer & __cdecl CEGUI::Direct3D9Renderer::bootstrapSystem(struct IDirect3DDevice9 *)" (__imp_?bootstrapSystem@Direct3D9Renderer@CEGUI@@SAAAV12@PAUIDirect3DDevice9@@@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class CEGUI::ResourceProvider * __thiscall CEGUI::System::getResourceProvider(void)const " (__imp_?getResourceProvider@System@CEGUI@@QBEPAVResourceProvider@2@XZ)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall CEGUI::System::renderGUI(void)" (__imp_?renderGUI@System@CEGUI@@QAEXXZ)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class CEGUI::System & __cdecl CEGUI::System::getSingleton(void)" (__imp_?getSingleton@System@CEGUI@@SAAAV12@XZ)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class CEGUI::System & __cdecl CEGUI::System::create(class CEGUI::Renderer &,class CEGUI::ResourceProvider *,class CEGUI::XMLParser *,class CEGUI::ImageCodec *,class CEGUI::ScriptModule *,class CEGUI::String const &,class CEGUI::String const &)" (__imp_?create@System@CEGUI@@SAAAV12@AAVRenderer@2@PAVResourceProvider@2@PAVXMLParser@2@PAVImageCodec@2@PAVScriptModule@2@ABVString@2@5@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall CEGUI::String::~String(void)" (__imp_??1String@CEGUI@@QAE@XZ)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall CEGUI::DefaultResourceProvider::setResourceGroupDirectory(class CEGUI::String const &,class CEGUI::String const &)" (__imp_?setResourceGroupDirectory@DefaultResourceProvider@CEGUI@@QAEXABVString@2@0@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: class CEGUI::Direct3D9Renderer & __thiscall CEGUI::Direct3D9Renderer::operator=(class CEGUI::Direct3D9Renderer const &)" (__imp_??4Direct3D9Renderer@CEGUI@@QAEAAV01@ABV01@@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl CEGUI::WidgetLookManager::setDefaultResourceGroup(class CEGUI::String const &)" (__imp_?setDefaultResourceGroup@WidgetLookManager@CEGUI@@SAXABVString@2@@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl CEGUI::WindowManager::setDefaultResourceGroup(class CEGUI::String const &)" (__imp_?setDefaultResourceGroup@WindowManager@CEGUI@@SAXABVString@2@@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl CEGUI::ScriptModule::setDefaultResourceGroup(class CEGUI::String const &)" (__imp_?setDefaultResourceGroup@ScriptModule@CEGUI@@SAXABVString@2@@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl CEGUI::Scheme::setDefaultResourceGroup(class CEGUI::String const &)" (__imp_?setDefaultResourceGroup@Scheme@CEGUI@@SAXABVString@2@@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl CEGUI::Imageset::setDefaultResourceGroup(class CEGUI::String const &)" (__imp_?setDefaultResourceGroup@Imageset@CEGUI@@SAXABVString@2@@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl CEGUI::Font::setDefaultResourceGroup(class CEGUI::String const &)" (__imp_?setDefaultResourceGroup@Font@CEGUI@@SAXABVString@2@@Z)
1>GUI.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall CEGUI::String::String(char const *)" (__imp_??0String@CEGUI@@QAE@PBD@Z)
1>C:\Users\\Documents\Visual Studio 2010\Projects\L7A7\L7A7\Release\L7A7.exe : fatal error LNK1120: 16 unresolved externals
========== Build: 0 succeeded, 1 failed, 3 up-to-date, 0 skipped ==========

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

Re: Using CEGUI

Postby CrazyEddie » Wed Oct 13, 2010 09:17

You have to link to the .lib files, having the DLLs present is not enough, you idiot! :mrgreen:

Seriously, though, you need to link to CEGUIBase.lib and CEGUIDirect3D9Renderer.lib for release mode and CEGUIBase_d.lib and CEGUIDirect3D9Renderer_d.lib in debug mode (don't link both in either configuration). These files are in the ./lib subdir.

HTH

CE.

Magmatwister
Just popping in
Just popping in
Posts: 12
Joined: Thu Oct 07, 2010 20:15

Re: Using CEGUI

Postby Magmatwister » Wed Oct 13, 2010 15:45

Legend. :D CHEERS. OH and you helped me solve ANOTHER problem with integrating a 3rd party library just by telling me that. xD xD


Return to “Help”

Who is online

Users browsing this forum: No registered users and 17 guests