Cannot find CEGUIOgreRenderer.lib [SOLVED]

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

Aspirer
Not too shy to talk
Not too shy to talk
Posts: 22
Joined: Fri Dec 21, 2012 07:33

Cannot find CEGUIOgreRenderer.lib [SOLVED]

Postby Aspirer » Sat May 04, 2013 15:57

EDIT: To make things easier for anyone who ever gets this issue again I changed the topic title from "What the heck am I doing wrong?!" to this. The solution to the problem can be found on page two. Make sure to read timotei's posts as well.

I'm trying to build CEGUI but whenever I do I get errors! I've been frustrated with this for days!

List of things I've done:

Deleted the entire OgreSDK directory that I created. Re-extracted it, copied the cegui directory into it, copied the dependencies into the cegui portion of the directory, copied premake(custom) into the right spot within cegui, modified config.lua exactly.

Right now I'm trying to rebuild the cegui.sln. Whenever I run premake.exe it opens and closes in a flash without prompting me to "press any key to continue". This tells me somethings wrong. This may also mean it did its job and I don't need to do it again...

When I run the cegui.sln and try to build one of the projects I get numerous Linker errors which say files are missing. I cannot add those files to the project because they do not exist! I've done countless searches of my computer and found nothing by the name of CEGUIOgreRenderer.lib or otherwise.

Upon building CEGUI.sln (I got it to build, its just that premake does not do anything anymore) I get 9 warnings. They are:
Conversion Report - BaseSystem\CEGUIBase.vcproj:
Converting project file 'C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\BaseSystem\CEGUIBase.vcproj'.
Web deployment to the local IIS server is no longer supported. The Web Deployment build tool has been removed from your project settings.
Done converting to new project file 'C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\BaseSystem\CEGUIBase.vcxproj'.
VCWebServiceProxyGeneratorTool is no longer supported. The tool has been removed from your project settings.
MSB8012: $(TargetName) ('CEGUIBase') does not match the Linker's OutputFile property value '../../../bin\CEGUIBase_d.dll' ('CEGUIBase_d') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetName) property value matches the value specified in %(Link.OutputFile).
MSB8012: $(TargetPath) ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\BaseSystem\../../../bin\CEGUIBase.dll') does not match the Linker's OutputFile property value '../../../bin\CEGUIBase_d.dll' ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\../../../bin\CEGUIBase_d.dll') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).
MSB8012: $(TargetPath) ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\BaseSystem\../../../bin\CEGUIBase.dll') does not match the Linker's OutputFile property value '../../../bin\CEGUIBase.dll' ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\../../../bin\CEGUIBase.dll') in project configuration 'Release|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).
MSB8012: $(TargetPath) ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\BaseSystem\../../../bin/ReleaseWithSymbols\CEGUIBase.dll') does not match the Linker's OutputFile property value '../../../bin/ReleaseWithSymbols\CEGUIBase.dll' ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\../../../bin/ReleaseWithSymbols\CEGUIBase.dll') in project configuration 'ReleaseWithSymbols|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).
MSB8012: $(TargetName) ('CEGUIBase') does not match the Librarian's OutputFile property value '../../../lib\CEGUIBase_Static_d.lib' ('CEGUIBase_Static_d') in project configuration 'Debug_Static|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetName) property value matches the value specified in %(Lib.OutputFile).
MSB8012: $(TargetPath) ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\BaseSystem\../../../lib\CEGUIBase.lib') does not match the Librarian's OutputFile property value '../../../lib\CEGUIBase_Static_d.lib' ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\../../../lib\CEGUIBase_Static_d.lib') in project configuration 'Debug_Static|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Lib.OutputFile).
MSB8012: $(TargetName) ('CEGUIBase') does not match the Librarian's OutputFile property value '../../../lib\CEGUIBase_Static.lib' ('CEGUIBase_Static') in project configuration 'Release_Static|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetName) property value matches the value specified in %(Lib.OutputFile).
MSB8012: $(TargetPath) ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\BaseSystem\../../../lib\CEGUIBase.lib') does not match the Librarian's OutputFile property value '../../../lib\CEGUIBase_Static.lib' ('C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\../../../lib\CEGUIBase_Static.lib') in project configuration 'Release_Static|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Lib.OutputFile).


And I get these errors on build:

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\projects\premake\BaseSystem\../../../bin\CEGUIBase.dll) does not match the Linker's OutputFile property value (C:\Users\t\Documents\Visual Studio 2010\OgreSDK\include\CEGUI-0.7.9\bin\CEGUIBase_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(CEGUIBase) does not match the Linker's OutputFile property value (CEGUIBase_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 'CEGUIOgreRenderer_d.lib'


This really should not be so difficult...
Last edited by Aspirer on Fri May 10, 2013 04:33, edited 1 time in total.

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: What the heck am I doing wrong?!

Postby Ident » Mon May 06, 2013 17:02

did you follow the wiki guide... it is quite simple to build CEGUI if you follow these easy steps. I also don't know why you copy your cegui folder into the ogre folder, this is not required and is NOWHERE stated as requirement.

here is the link to the guide:
CEGUI one:
http://www.cegui.org.uk/wiki/index.php/ ... reRenderer
OGRE one:
http://www.ogre3d.org/tikiwiki/tiki-ind ... ding+CEGUI

they re pretty much equivalent
CrazyEddie: "I don't like GUIs"

Aspirer
Not too shy to talk
Not too shy to talk
Posts: 22
Joined: Fri Dec 21, 2012 07:33

Re: What the heck am I doing wrong?!

Postby Aspirer » Mon May 06, 2013 17:12

The CEGUI folder was copied into the ogre one because I wanted mostly everything in one place. I've set up my windows folder libraries to go directly to my OgreSDK folder which contains a "include" folder where OIS, OGRE, and CEGUI are located. I put DirectX just next to the OgreSDL folder because I don't think I'll be working with that hardly ever because I know nothing about it.

I just need to know why I'm getting these errors and where CEGUIOgreRenderer.lib can be found (or where it comes from or where to get it) because it doesn't exist on my computer. It exist on my laptop but I don't know where it came from. I have an idea that it came from the premake.exe application but when I run it on this machine it just opens, closes, with nothing interesting happening. It doesn't prompt me to press any key when it does this like it did when I first ran it.

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: What the heck am I doing wrong?!

Postby Ident » Mon May 06, 2013 17:17

You need to build the libraries by following the guide i just sent you and then building the CEGUI project in Debug and Release (I assume u want both).
CrazyEddie: "I don't like GUIs"

Aspirer
Not too shy to talk
Not too shy to talk
Posts: 22
Joined: Fri Dec 21, 2012 07:33

Re: What the heck am I doing wrong?!

Postby Aspirer » Mon May 06, 2013 18:56

Ok so I realized you had nothing else to tell me other than to follow the wiki. Not because you don't want to help but because I must be doing something wrong. I tried that. I thought I found the source of the issue. I had changed the boost paths to point to my ogreSDK/boost folder. After switching that back to normal and adding the required paths in the correct location under CEGUI_PATHS I didn't get a chance to try it out. After that I get this every time I attempt to build the projects:

C:\Users\t\Documents\Visual Studio 2010\CEGUISDK\CEGUI-0.7.9\projects\premake>pr
emake --file cegui.lua --target vs2008
** BaseSystem/premake.lua: helpers.lua:554: bad argument #1 to 'gsub' (string ex
pected, got nil)
** ScriptingModules/LuaScriptModule/premake.lua: helpers.lua:554: bad argument #
1 to 'gsub' (string expected, got nil)
** ScriptingModules/LuaScriptModule/support/tolua++/premake.lua: helpers.lua:554
: bad argument #1 to 'gsub' (string expected, got nil)
** ScriptingModules/LuaScriptModule/support/tolua++bin/premake.lua: helpers.lua:
554: bad argument #1 to 'gsub' (string expected, got nil)
** WindowRendererSets/Falagard/premake.lua: helpers.lua:554: bad argument #1 to
'gsub' (string expected, got nil)
** ImageCodecModules/CoronaImageCodec/premake.lua: helpers.lua:554: bad argument
#1 to 'gsub' (string expected, got nil)
** ImageCodecModules/DevILImageCodec/premake.lua: helpers.lua:554: bad argument
#1 to 'gsub' (string expected, got nil)
** ImageCodecModules/FreeImageImageCodec/premake.lua: helpers.lua:554: bad argum
ent #1 to 'gsub' (string expected, got nil)
** ImageCodecModules/TGAImageCodec/premake.lua: helpers.lua:554: bad argument #1
to 'gsub' (string expected, got nil)
** ImageCodecModules/SILLYImageCodec/premake.lua: helpers.lua:554: bad argument
#1 to 'gsub' (string expected, got nil)
** ImageCodecModules/STBImageCodec/premake.lua: helpers.lua:554: bad argument #1
to 'gsub' (string expected, got nil)
** XMLParserModules/expatParser/premake.lua: helpers.lua:554: bad argument #1 to
'gsub' (string expected, got nil)
** RendererModules/Ogre/premake.lua: helpers.lua:554: bad argument #1 to 'gsub'
(string expected, got nil)
Generating Visual Studio 2008 solution and project files:
...CEGUIBase
...CEGUILuaScriptModule
...tolua++
...tolua++cegui
...CEGUIFalagardWRBase
...CEGUICoronaImageCodec
...CEGUIDevILImageCodec
...CEGUIFreeImageImageCodec
...CEGUITGAImageCodec
...CEGUISILLYImageCodec
...CEGUISTBImageCodec
...CEGUIExpatParser
...CEGUIOgreRenderer

C:\Users\t\Documents\Visual Studio 2010\CEGUISDK\CEGUI-0.7.9\projects\premake>pa
use
Press any key to continue . . .


When I use the clean file I get something similar:

C:\Users\t\Documents\Visual Studio 2010\CEGUISDK\CEGUI-0.7.9\projects\premake>pr
emake --file cegui.lua --target vs2008
** BaseSystem/premake.lua: helpers.lua:554: bad argument #1 to 'gsub' (string ex
pected, got nil)
** ScriptingModules/LuaScriptModule/premake.lua: helpers.lua:554: bad argument #
1 to 'gsub' (string expected, got nil)
** ScriptingModules/LuaScriptModule/support/tolua++/premake.lua: helpers.lua:554
: bad argument #1 to 'gsub' (string expected, got nil)
** ScriptingModules/LuaScriptModule/support/tolua++bin/premake.lua: helpers.lua:
554: bad argument #1 to 'gsub' (string expected, got nil)
** WindowRendererSets/Falagard/premake.lua: helpers.lua:554: bad argument #1 to
'gsub' (string expected, got nil)
** ImageCodecModules/CoronaImageCodec/premake.lua: helpers.lua:554: bad argument
#1 to 'gsub' (string expected, got nil)
** ImageCodecModules/DevILImageCodec/premake.lua: helpers.lua:554: bad argument
#1 to 'gsub' (string expected, got nil)
** ImageCodecModules/FreeImageImageCodec/premake.lua: helpers.lua:554: bad argum
ent #1 to 'gsub' (string expected, got nil)
** ImageCodecModules/TGAImageCodec/premake.lua: helpers.lua:554: bad argument #1
to 'gsub' (string expected, got nil)
** ImageCodecModules/SILLYImageCodec/premake.lua: helpers.lua:554: bad argument
#1 to 'gsub' (string expected, got nil)
** ImageCodecModules/STBImageCodec/premake.lua: helpers.lua:554: bad argument #1
to 'gsub' (string expected, got nil)
** XMLParserModules/expatParser/premake.lua: helpers.lua:554: bad argument #1 to
'gsub' (string expected, got nil)
** RendererModules/Ogre/premake.lua: helpers.lua:554: bad argument #1 to 'gsub'
(string expected, got nil)
Generating Visual Studio 2008 solution and project files:
...CEGUIBase
...CEGUILuaScriptModule
...tolua++
...tolua++cegui
...CEGUIFalagardWRBase
...CEGUICoronaImageCodec
...CEGUIDevILImageCodec
...CEGUIFreeImageImageCodec
...CEGUITGAImageCodec
...CEGUISILLYImageCodec
...CEGUISTBImageCodec
...CEGUIExpatParser
...CEGUIOgreRenderer

C:\Users\t\Documents\Visual Studio 2010\CEGUISDK\CEGUI-0.7.9\projects\premake>pa
use
Press any key to continue...



Probably no one can help me with this issue.

Even deleting the ceguisdk folder and copying the original to the old ones location, replacing premake with the custom version, editing config.lua's paths essentially doing the tutorial over again does not help.

I know this isn't rocket science for some of you, but all I know is programming. I've never used a library and I'm trying to learn. I've taken a few courses on programming in high school but for some odd reason the instructor never showed us how to do any of this.

The only thing I could find relevant to my original problem was this:
http://www.ogre3d.org/forums/viewtopic.php?f=5&t=69819
and it only devolved into a flamewar about the Ogre engine, and when the guy "FrostBytes" said he and his instructor fixed it he provided no details to how he did it.

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: What the heck am I doing wrong?!

Postby Ident » Mon May 06, 2013 19:10

did u build ogre yourself?
do you know where your ogre lib files and include files are?
u need to edit the config file as describe the wiki. It should work then, i used it multiple times in the past.

Also u sent that console log twice - why? it is exactly the same log. I dont remember much from how i worked with premake so i cant help u with whats written in it. Can u point out the error?
Also, I can assure u the guide in the wiki works. I know it. I don't know what you could be doing wrong though except referencing to Ogre in a wrong way. Btw the boost reference is optional afaik.

If u just cannot get it to work i suggest u to install cmake and use the trunk version of cegui, it will run with cmake, and that MIGHT make it easier for u as u can enter the paths there etc etc. Premake is a bit confusing and i cnat really help you with it but i can GUARANTEE YOU that it works if you do it RIGHT just as describe in the wiki. I did it in the past and it worked everytime and others have done it too.
CrazyEddie: "I don't like GUIs"

Aspirer
Not too shy to talk
Not too shy to talk
Posts: 22
Joined: Fri Dec 21, 2012 07:33

Re: What the heck am I doing wrong?!

Postby Aspirer » Mon May 06, 2013 20:17

Nope, didn't build it, got the SDK instead. I know where my includes and libs are. If not I can find them. Those two logs were from two separate programs, the premake folders "Build_vs2008" and "clean". Apparently they both output the same text which I didn't know because I didn't read the second one. Anyways for those wondering just what those errors I got were from it was because I added the boost path in my ogre folder to the configa.lua file. After removing the path it built without those strange errors. See its odd because the wiki says if you are using ogre 1.7.1 or above ogre uses boost. I am using Ogre 1.8.0 so I assumed it has boost. In fact I just checked the wiki and it does say "check if your ogre main folder has boost" (paraphrasing here) so I did. It does but for some reason leaving that out of my additional cegui includes made it work.

Now that I've figured out what I did wrong with the second problem I'm still having an issue finding CEGUIOgreRenderer.lib. The file does not exist on this computer and I don't know why, or where it comes from!

Perhaps I didn't mention this but I have been going over the wiki just as you asked.

User avatar
Ident
CEGUI Team
Posts: 1998
Joined: Sat Oct 31, 2009 13:57
Location: Austria

Re: What the heck am I doing wrong?!

Postby Ident » Mon May 06, 2013 20:30

You need to build it using the solution files you created. That's what premake does: it make solution files for you. Have you ever worked with Visual Studio, I sure hope you did because otherwise there will be more troubles for you, which are also not directly CEGUI-related. Well, what you usually do is to open the solution file fitting to your version of Visual Studio ( I think 2010 is not supported in your version of CEGUI but not sure, in that case u would need to convert it) and then BUILD the debug/release version(s) in Visual Studio. This will create the lib files and output them in a folder defined in the project settings. I also mentioned earlier in one of the replies that you need to build these library files - I had assumed that this would automatically make you understand that there will be a solution file to be used, because this is how you usually build things in Visual Studio. I guess you are really very new to C++, well, if you keep trying you will get things done.
CrazyEddie: "I don't like GUIs"

Aspirer
Not too shy to talk
Not too shy to talk
Posts: 22
Joined: Fri Dec 21, 2012 07:33

Re: What the heck am I doing wrong?!

Postby Aspirer » Tue May 07, 2013 21:29

How is this even possible? My problem is a "which came first the chicken come or the egg" issue. In that I mean I have tried to build these projects (which I have been doing this whole time) but I'm either getting some error which shouldn't be happening, or it wants a lib file from another solution in the CEGUI solution which has not been built yet. If I try to build CEGUIBase it says I need CEGUIOgreRenderer.lib while when I try to build CEGUIOgreRenderer.lib I get two errors saying I need CEGUIBase.lib and CEGUIOgreRenderer.lib.

I mean what in the world am I supposed to do?

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

Re: What the heck am I doing wrong?!

Postby CrazyEddie » Tue May 07, 2013 23:07

I found this thread amusing, so decided to post here.

I don't know what specific errors you might be getting now, because you did not specify what they were in the latest post. If you're getting different errors than before, then it's quite helpful to post what they actually are - and if they're the same errors as previously posted, please indicate that this is the case. If you don't do either of these things, your post is essentially a waste of time, since it tells nothing that can be used to help you with.

I can tell you that the premake related errors are definitely because the ogre paths were set incorrectly somehow in config.lua (maybe you used backslash instead of forward slash, I know that messes it up, but can't recall if it produces the errors you got or not). On this subject, it might have been a good idea to have posted your config.lua file, then we could have likely identified the mistakes you had made in there.

Anyway, please view the following video, it shows the build process - including the Ogre renderer using a SDK version of Ogre - using MSVC++ 2010. The video is not edited and shows everything you need to do, from downloading the files, editing the config.lua and pressing the magic build button (do note that we assumed people would have the DX SDK installed and configured in MSVC, if you've not done that, then you can either do it, or just disable the D3D renderers in config.lua)



You're welcome.

CE

Aspirer
Not too shy to talk
Not too shy to talk
Posts: 22
Joined: Fri Dec 21, 2012 07:33

Re: What the heck am I doing wrong?!

Postby Aspirer » Wed May 08, 2013 01:49

1>------ Build started: Project: CEGUIBase, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.8\projects\premake\BaseSystem\../../../bin\CEGUIBase.dll) does not match the Linker's OutputFile property value (C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.8\bin\CEGUIBase_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(CEGUIBase) does not match the Linker's OutputFile property value (CEGUIBase_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 'OgreMain_d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


That's my current issue.
$(OGRE_HOME) = C:\Users\t\Documents\Visual Studio 2010\Devving\OgreSDK


$(CEGUI_HOME) = C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.8


CEGUIBase solution's Additional Library Directories:
../../../lib/debug
../../../dependencies/lib/dynamic
$(OGRE_HOME)/lib/debug


CEGUIBase's Additional Library Includes:
../../../cegui/include
$(CEGUI_HOME)/dependencies/include
C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.8\dependencies\include


Config.lua with everything that I can think that I changed: (Might as well post the entire thing):

--
-- CEGUI premake configuration script
--

--- These control whether certain build configurations will be available in the
--- generated solutions. You can set to false (or comment) any build configs
--- you will not be using.
WANT_RELEASE_WITH_SYMBOLS_BUILD = true
WANT_STATIC_BUILD = true

--- This controls which version of the C/C++ runtime and which version of the
--- dependencies are used when linking the static build configurations.
---
--- false: use the static c/c++ runtime option and the 'static' dependencies.
--- true: use the DLL c/c++ runtime option and the 'dynamic' dependencies.
STATIC_BUILD_WITH_DYNAMIC_DEPS = false

-- comment this to disable debug suffixes for dynamic module dlls
-- if you want to use another suffix, just change the string :)
-- all the debug cegui libraries are built with this suffix
DEBUG_DLL_SUFFIX = "_d"

-- Iterator debugging setting
--
-- This controls the level of debugging and other checks done for STL iterators
-- in the debug build for the MSVC++ compilers.
-- Setting this to false can improve performance of debug builds at the expense
-- of safety / debug checks on iterators.
FULLY_CHECKED_DEBUG_ITERATORS = true

-- SDK / dependency paths
-- { base, include_suffix, library_suffix }
-- base can be absolute or relative to the root cegui_mk2 dir
IRRLICHT_PATHS = { "irrlicht-1.7.1", "include", "lib/Win32-visualstudio" }
OGRE_PATHS = { "C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK", "include/OGRE", "lib" }
OIS_PATHS = { "C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK", "include/OIS", "lib" }

-- Set this to where your RapidXML package headers are to be found
RAPIDXML_PATHS = { "rapidxml-1.13", "", "" }

-- Python / boost::python (required to build python extension modules)
PYTHON_PATHS = { "C:/Python26", "include", "libs" }
BOOST_PYTHON_PATHS = { "C:/Program Files/boost/boost_1_44", "", "lib" }


-- Extra SDK / dependency paths.
--
-- Here you can set up any additional paths you require for the various projects
-- in CEGUI. This is useful if, for example, you are using some SDK that has
-- additional external dependencies of it's own (for example, boost used with
-- Ogre). All you need to do is add an entry in the following table to indicate
-- the base directory, include sub-directory, library-subdirectory, and optionally
-- the name of the CEGUI project to add the paths to (if no project is given, the
-- paths are added to /all/ projects).
--
-- NB: Each entry should be surrounded by curly braces, with each entry
-- separated with a comma and appearing within the existing braces.
--
-- For example, to add the OgreSDK boost paths to build for the Ogre renderer
-- module and sample helper with Ogre support, you might have:
--
-- CEGUI_EXTRA_PATHS = {
-- { "../OgreSDK/boost_1_42", "", "lib", "CEGUIOgreRenderer" },
-- { "../OgreSDK/boost_1_42", "", "lib", "CEGUISampleHelper" }
-- }
--
CEGUI_EXTRA_PATHS = {
{ "C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK/boost" , "", "lib", "CEGUIOgreRenderer" }
}


--- Irrlicht SDK Version
--- 14 is means 1.4 or 1.5.x and 16 means 1.6 or 1.7.x (and above?)
CEGUI_IRR_SDK_VERSION = 16

--- OIS API version to be used in the Ogre samples base app.
--- true: use older numKeyboards / numMice
--- false: use getNumberOfDevices
CEGUI_OLD_OIS_API = false

--- Lua version
--- 51 is 5.1 (and above?) From 0.7.0 onwards, lua 5.0 is no longer supported.
CEGUI_LUA_VER = 51

--- Freetype library
--- CEGUI uses the freetype library for some of it's font support. To disable
--- the use of freetype, set this to false.
CEGUI_USE_FREETYPE = true

--- PCRE library
--- CEGUI uses the pcre library for it's regular expression based string
--- validation as used in the Editbox (and derived classes, such as Spinner).
--- To disable the use of PCRE (and therefore the validation factilities), set
--- this to false. (Attempts to set validation string will throw).
CEGUI_USE_PCRE_REGEX = true

--- CEGUI::DefaultLogger
--- To disable compilation and use of the CEGUI::DefaultLogger, set this to
--- false.
---
--- Note: If you disable this, you MUST provide an alternative CEGUI::Logger
--- based class and instantiate it before creating the main CEGUI::System object.
CEGUI_USE_DEFAULT_LOGGER = true

--- BiDirectional text support.
--- To enable support for bi-directional text in CEGUI, set CEGUI_BIDI_SUPPORT
--- to true.
--- With bidirectional support enabled, CEGUI_USE_MINIBIDI then controls whether
--- that support is provided viaan embedded copy of minibidi (true) or an
--- external copy of the fribidi library (false).
CEGUI_BIDI_SUPPORT = false;
CEGUI_USE_MINIBIDI = true;

--- MinizipResourceProvider
--- To enable compilation and inclusion into CEGUIBase of the MinizipResourceProvider
--- set the following to true.
---
--- The MinizipResourceProvider enables resources to be loaded from a zip compressed
--- archive.
MINIZIP_RESOURCE_PROVIDER = true

-------------
-- Renderers
-- this controls which renderer modules are built
OPENGL_RENDERER = false
DIRECT3D9_RENDERER = false
DIRECT3D10_RENDERER = false
DIRECT3D11_RENDERER = false
IRRLICHT_RENDERER = false
OGRE_RENDERER = true
NULL_RENDERER = false


----------------
-- Image Codecs
-- this controls which image codecs are built
TGA_IMAGE_CODEC = true
SILLY_IMAGE_CODEC = true
DEVIL_IMAGE_CODEC = true
FREEIMAGE_IMAGE_CODEC = true
CORONA_IMAGE_CODEC = true
STB_IMAGE_CODEC = true

-- this setting selects the default image codec module
-- can be either "tga", "silly", "devil", "freeimage", "stb" or "corona"
-- SILLY was written for CEGUI
DEFAULT_IMAGE_CODEC = "silly"

---------------
-- Window Renderers
-- controls window renderers built
FALAGARD_WR = true

-- default WR
-- available: falagard
DEFAULT_WINDOW_RENDERER = "falagard"




---------------
-- XML parsers
-- this controls which xml parser modules are built
EXPAT_PARSER = true
XERCES_PARSER = false
TINYXML_PARSER = false
RAPIDXML_PARSER = false
LIBXML_PARSER = false

-- this selects the default XML parser module
-- can be either "expat", "xerces", "tinyxml", "rapidxml" or "libxml"
DEFAULT_XML_PARSER = "expat"


-------
-- Lua
-- this controls whether CEGUILua is enabled
LUA_SCRIPT_MODULE = true

-- disable this for a smaller and faster, but less safe Lua module
-- only affects Release builds. Debug and ReleaseWithSymbols always
-- enable this
LUA_SCRIPT_MODULE_SAFE = false

-- enable this to build the bundled tolua++ as a static library
TOLUA_STATIC = false


-------
-- Python
-- this controls whether building the Python extension modules is enabled
PYTHON_EXTENSION_MODULE = false


-----------
-- Samples
-- remember you have to edit CEGUISamplesConfig.h as well this just controls
-- dependencies etc. if the renderer is disabled this has no effect
SAMPLES_GL = true
SAMPLES_DX9 = true
SAMPLES_DX10 = false
SAMPLES_IRRLICHT = false
SAMPLES_OGRE = false

-- this setting controls if the samples should be included in the same
-- solution as the core libraries. If this setting is disabled you can
-- still generate a seperate solution for the samples
--
-- due to a missing feature in premake enabling this will cause the
-- output files to be placed in cegui_mk2/bin and not cegui_mk2/Samples/bin
--
SAMPLES_INCLUDED = false


Thank you for pointing out that video Eddie, I went as far as to download CEGUI again, its dependencies, move premake into the correct folder, etc. but I'm still getting these errors. I watched the video and followed it, changed a few things that you did differently and still.

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

Re: What the heck am I doing wrong?!

Postby CrazyEddie » Wed May 08, 2013 09:09

Ok, the config.lua posted looks fine.

With regards to the environment variables you posted, we don't use those anyway so for building CEGUI itself, those are unimportant (though I understand you've likely posted them in order to include as much information as possible, so thanks for that).

The error posted should never exist, since CEGUIBase does not link to Ogre at all, only CEGUIOgreRenderer (and CEGUISampleHelper, when enabled) link to Ogre. This means you have edited the projects in an incorrect way and caused the issue yourself.

The video shows the steps - and the only steps - that should be performed (aside from that DX SDK issues previously mentioned). The fact you have deviated from this procedure is why you have been struggling. I will summarise below, and please note, we know that this works when done correctly. We know it works every time. So each time you do this, follow the procedure below - it will work. If it does not work, you did not follow the procedure, or you decided to modify the procedure without knowing what you're actually doing. It's like you mention copying premake... To which I say, sorry? Excuse me? Where in the video was premake copied anywhere?

To reiterate:
FOLLOW THE PROCEDURE SHOWN AND IT WORKS - IT TAKES 7 MINUTES! YOU ARE WASTING YOUR TIME BY MESSING AROUND WITH THINGS YOU DO NOT UNDERSTAND - WHEN YOU DO NOT UNDERSTAND THINGS, LEAVE THEM ALONE! THIS IS WHY IT TAKES YOU DAYS TO COMPLETE A TASK THAT TAKES 7 MINUTES.

Also, why is it that when you're building the thing yourself you have chosen CEGUI 0.7.8 and not the latest CEGUI 0.7.9? Especially since 0.7.8 was an aborted release and was replaced 5 days later by 0.7.9?

Anyway, the video procedure is summarised as this:
  • Download CEGUI-0.7.9.zip
  • Download CEGUI-DEPS-0.7.x-r3-vc10.zip
  • Extract CEGUI-0.7.9.zip to some location and get a CEGUI-0.7.9 directory
  • Extract CEGUI-DEPS-0.7.x-r3-vc10.zip into the CEGUI-0.7.9 directory so you get a dependencies subdirectory
  • Navigate to CEGUI-0.7.9/projects/premake and open config.lua in a text editor (but not notepad).
  • Edit config.lua to set OGRE_PATHS to use the location of your Ogre sdk and set the include part to include/OGRE
  • Edit config.lua to set OIS_PATHS to use the location of your Ogre sdk and set the include part to include/OIS
  • Edit config.lua to create a table named CEGUI_EXTRA_PATHS with a nested table containing four entries. The first is the full path to boost within the Ogre SDK, the second is the headers subdirectory and should be the empty string "", the third is the library subdirectory and should be lib and the fourth is the CEGUI project that the settings are to be added to and should be CEGUIOgreRenderer.
  • Edit config.lua and disable all renderer modules apart from Ogre by setting their <name>_RENDERER settings to false, enable the Ogre renderer by setting OGRE_RENDERER to true
  • Edit config.lua and disable all image codec modules apart from SILLY by setting them to false
  • Edit config.lua and disable all xml parser modules apart from Expat by setting them to false
  • Save config.lua and exit the text editor.
  • Execute the batch file build_vs2008.bat to generate the project and solution files.
  • Load the generated solution file CEGUI.sln into MSVC++ 2010.
  • Follow the on-screen prompts to convert the projects from MSVC++ 2008 to MSVC++ 2010.
  • In the solution explorer pane, select the project CEGUIOgreRenderer, right click and access the project properties.
  • Select Linker settings in the left hand pane, and then find Additional Library Directories
  • Modify the path to the Ogre libraries directory by appending debug to the all debug configurations you will build and appending release to all release configurations you will build (this step is needed because the Ogre devs for some reason decided to put their libs into subdirectories for newer releases). Apply all settings and close the properties dialog box.
  • Build the configurations you need. Typically this is just Debug and Release, you can ignore the other configurations.

This is all you need to do - don't do anything not in the video (and not in the list) - this is why you've had the issues you have, and have wasted so much of your time (and in turn have wasted our time too). Don't go adding libs or paths to projects. Don't modify any project settings other than those shown or indicated. Follow the steps provided and you will have success. If you don't have success, it is because you did not follow the steps and decided do go off on your own again. As demonstrated in the video the whole process takes 7 minutes. Since you already have the downloads, it should take you about 5 minutes.

CE

Aspirer
Not too shy to talk
Not too shy to talk
Posts: 22
Joined: Fri Dec 21, 2012 07:33

Re: What the heck am I doing wrong?!

Postby Aspirer » Wed May 08, 2013 14:08

At the risk of further annoying you guys I don't know what to say Eddie. I followed your steps completely, twice and the errors persist. If I could record what I'm doing with something to show you what I'm doing I would but I don't have anything that can do that.

I should have mentioned this before but it skipped my mind until now. I've built CEGUI before but I deleted the entire directory because I screwed up my projects and nothing would build. In fact there are still .dlls for CEGUIBase and CEGUIBase_d, CEGUIExpatParser and _d version, CEGUIFalagardParser, and _d version, CEGUIOgreRenderer_d but no CEGUIOgreRenderer in one of my projects. I don't know what they're doing in my VS project folder. I would use these but I don't know if these .dll's are specific to the build of CEGUI and Ogre that I've downloaded (they may be older versions) and I don't know if they are even usable. My question is could that be the reason CEGUI won't build? The major reason for doing this (buidling cegui again) was I wanted a fresh clean build where nothing is confused. I don't see how because the project they're in isn't specified as a directory for my CEGUI.sln property pages.

I will post the version of configua.lua that I'm using and my libs and includes again if anyone is willing to help.

Errors are:

1>------ Build started: Project: CEGUIOgreRenderer, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\projects\premake\RendererModules\Ogre\../../../../bin\CEGUIOgreRenderer.dll) does not match the Linker's OutputFile property value (C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\bin\CEGUIOgreRenderer_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(CEGUIOgreRenderer) does not match the Linker's OutputFile property value (CEGUIOgreRenderer_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 '../../../../lib/CEGUIBase_d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


CEGUIOgreRenderer solution includes:

../../../../cegui/include
../../../../dependencies/include
C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK/boost/
../../../../cegui/include/RendererModules/Ogre/
../../../../
C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK/include/OGRE


Additional Libarary Directories:

../../../../lib
C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK/boost/lib
C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK/lib/debug
../../../../dependencies/lib/dynamic


Config.lua:

--
-- CEGUI premake configuration script
--

--- These control whether certain build configurations will be available in the
--- generated solutions. You can set to false (or comment) any build configs
--- you will not be using.
WANT_RELEASE_WITH_SYMBOLS_BUILD = true
WANT_STATIC_BUILD = true

--- This controls which version of the C/C++ runtime and which version of the
--- dependencies are used when linking the static build configurations.
---
--- false: use the static c/c++ runtime option and the 'static' dependencies.
--- true: use the DLL c/c++ runtime option and the 'dynamic' dependencies.
STATIC_BUILD_WITH_DYNAMIC_DEPS = false

-- comment this to disable debug suffixes for dynamic module dlls
-- if you want to use another suffix, just change the string :)
-- all the debug cegui libraries are built with this suffix
DEBUG_DLL_SUFFIX = "_d"

-- Iterator debugging setting
--
-- This controls the level of debugging and other checks done for STL iterators
-- in the debug build for the MSVC++ compilers.
-- Setting this to false can improve performance of debug builds at the expense
-- of safety / debug checks on iterators.
FULLY_CHECKED_DEBUG_ITERATORS = true

-- SDK / dependency paths
-- { base, include_suffix, library_suffix }
-- base can be absolute or relative to the root cegui_mk2 dir
IRRLICHT_PATHS = { "irrlicht-1.7.1", "include", "lib/Win32-visualstudio" }
OGRE_PATHS = { "C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK", "include/OGRE", "lib" }
OIS_PATHS = { "C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK", "include/OIS", "lib" }
-- Set this to where your RapidXML package headers are to be found
RAPIDXML_PATHS = { "rapidxml-1.13", "", "" }

-- Python / boost::python (required to build python extension modules)
PYTHON_PATHS = { "C:/Python26", "include", "libs" }
BOOST_PYTHON_PATHS = { "C:/Program Files/boost/boost_1_44", "", "lib" }


-- Extra SDK / dependency paths.
--
-- Here you can set up any additional paths you require for the various projects
-- in CEGUI. This is useful if, for example, you are using some SDK that has
-- additional external dependencies of it's own (for example, boost used with
-- Ogre). All you need to do is add an entry in the following table to indicate
-- the base directory, include sub-directory, library-subdirectory, and optionally
-- the name of the CEGUI project to add the paths to (if no project is given, the
-- paths are added to /all/ projects).
--
-- NB: Each entry should be surrounded by curly braces, with each entry
-- separated with a comma and appearing within the existing braces.
--
-- For example, to add the OgreSDK boost paths to build for the Ogre renderer
-- module and sample helper with Ogre support, you might have:
--
-- CEGUI_EXTRA_PATHS = {
-- { "../OgreSDK/boost_1_42", "", "lib", "CEGUIOgreRenderer" },
-- { "../OgreSDK/boost_1_42", "", "lib", "CEGUISampleHelper" }
-- }
--
CEGUI_EXTRA_PATHS = {
{ "C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK/boost", "" , "lib", "CEGUIOgreRenderer" }
}

--- Irrlicht SDK Version
--- 14 is means 1.4 or 1.5.x and 16 means 1.6 or 1.7.x (and above?)
CEGUI_IRR_SDK_VERSION = 16

--- OIS API version to be used in the Ogre samples base app.
--- true: use older numKeyboards / numMice
--- false: use getNumberOfDevices
CEGUI_OLD_OIS_API = false

--- Lua version
--- 51 is 5.1 (and above?) From 0.7.0 onwards, lua 5.0 is no longer supported.
CEGUI_LUA_VER = 51

--- Freetype library
--- CEGUI uses the freetype library for some of it's font support. To disable
--- the use of freetype, set this to false.
CEGUI_USE_FREETYPE = true

--- PCRE library
--- CEGUI uses the pcre library for it's regular expression based string
--- validation as used in the Editbox (and derived classes, such as Spinner).
--- To disable the use of PCRE (and therefore the validation factilities), set
--- this to false. (Attempts to set validation string will throw).
CEGUI_USE_PCRE_REGEX = true

--- CEGUI::DefaultLogger
--- To disable compilation and use of the CEGUI::DefaultLogger, set this to
--- false.
---
--- Note: If you disable this, you MUST provide an alternative CEGUI::Logger
--- based class and instantiate it before creating the main CEGUI::System object.
CEGUI_USE_DEFAULT_LOGGER = true

--- BiDirectional text support.
--- To enable support for bi-directional text in CEGUI, set CEGUI_BIDI_SUPPORT
--- to true.
--- With bidirectional support enabled, CEGUI_USE_MINIBIDI then controls whether
--- that support is provided viaan embedded copy of minibidi (true) or an
--- external copy of the fribidi library (false).
CEGUI_BIDI_SUPPORT = false;
CEGUI_USE_MINIBIDI = true;

--- MinizipResourceProvider
--- To enable compilation and inclusion into CEGUIBase of the MinizipResourceProvider
--- set the following to true.
---
--- The MinizipResourceProvider enables resources to be loaded from a zip compressed
--- archive.
MINIZIP_RESOURCE_PROVIDER = true

-------------
-- Renderers
-- this controls which renderer modules are built
OPENGL_RENDERER = false
DIRECT3D9_RENDERER = false
DIRECT3D10_RENDERER = false
DIRECT3D11_RENDERER = false
IRRLICHT_RENDERER = false
OGRE_RENDERER = true
NULL_RENDERER = false

----------------
-- Image Codecs
-- this controls which image codecs are built
TGA_IMAGE_CODEC = false
SILLY_IMAGE_CODEC = true
DEVIL_IMAGE_CODEC = false
FREEIMAGE_IMAGE_CODEC = false
CORONA_IMAGE_CODEC = false
STB_IMAGE_CODEC = false

-- this setting selects the default image codec module
-- can be either "tga", "silly", "devil", "freeimage", "stb" or "corona"
-- SILLY was written for CEGUI
DEFAULT_IMAGE_CODEC = "silly"

---------------
-- Window Renderers
-- controls window renderers built
FALAGARD_WR = true

-- default WR
-- available: falagard
DEFAULT_WINDOW_RENDERER = "falagard"




---------------
-- XML parsers
-- this controls which xml parser modules are built
EXPAT_PARSER = true
XERCES_PARSER = false
TINYXML_PARSER = false
RAPIDXML_PARSER = false
LIBXML_PARSER = false

-- this selects the default XML parser module
-- can be either "expat", "xerces", "tinyxml", "rapidxml" or "libxml"
DEFAULT_XML_PARSER = "expat"


-------
-- Lua
-- this controls whether CEGUILua is enabled
LUA_SCRIPT_MODULE = true

-- disable this for a smaller and faster, but less safe Lua module
-- only affects Release builds. Debug and ReleaseWithSymbols always
-- enable this
LUA_SCRIPT_MODULE_SAFE = false

-- enable this to build the bundled tolua++ as a static library
TOLUA_STATIC = false


-------
-- Python
-- this controls whether building the Python extension modules is enabled
PYTHON_EXTENSION_MODULE = false


-----------
-- Samples
-- remember you have to edit CEGUISamplesConfig.h as well this just controls
-- dependencies etc. if the renderer is disabled this has no effect
SAMPLES_GL = true
SAMPLES_DX9 = true
SAMPLES_DX10 = false
SAMPLES_IRRLICHT = false
SAMPLES_OGRE = false

-- this setting controls if the samples should be included in the same
-- solution as the core libraries. If this setting is disabled you can
-- still generate a seperate solution for the samples
--
-- due to a missing feature in premake enabling this will cause the
-- output files to be placed in cegui_mk2/bin and not cegui_mk2/Samples/bin
--
SAMPLES_INCLUDED = false

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

Re: What the heck am I doing wrong?!

Postby CrazyEddie » Wed May 08, 2013 14:44

I followed your steps completely, twice and the errors persist.

Nope, or it would have worked.

If I could record what I'm doing with something to show you what I'm doing I would but I don't have anything that can do that.

Then get something. I use bandicam, you can get a free trial version that's good enough for 10 minutes of watermarked recording - should be more than enough to show what you're doing (because we don't need to see the build itself, just everything up until you press the build solution button). There are likely other options too.

Since it can't find CEGUIBase_d.lib in the libs directory where you're building, I must ask... does the file CEGUIBase_d.lib exist in the libs directory where you are building? If not (and it can't otherwise this error would not appear) then did CEGUIBase build without errors? The build output summary seems to suggest you chose the option to build only the selected project. Press build solution, seriously, it's not hard. Why would you do anything other than press build solution? Even if you select the normal build project option for CEGUIOgreRenderer, it would still have built CEGUIBase as a dependency and your build summary would have said 1 built or 1 up to date - it definitely would not say what it does say - it would not have proceeded to build CEGUIOgreRenderer without its dependency CEGUIBase being built first unless that's what you explicitly told it to do.

CE.

Aspirer
Not too shy to talk
Not too shy to talk
Posts: 22
Joined: Fri Dec 21, 2012 07:33

Re: What the heck am I doing wrong?!

Postby Aspirer » Wed May 08, 2013 15:38

You are correct Eddie, I only built CEGUOgreRenderer.

Just to be thorough here are the additional includes for CEGUIBase:

../../../cegui/include
../../../dependencies/include



I only included the last line in the lib directories because it didn't have a place that looked right. In the video you had a path in place where you added "/debug" to the end of it. There wasn't one in this solution so I added the last line.
and the lib directories:

../../../lib
../../../dependencies/lib/dynamic
C:/Users/t/Documents/Visual Studio 2010/Devving/OgreSDK/lib/debug


Errors when building CEGUIBase:

1>------ Build started: Project: CEGUIBase, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\projects\premake\BaseSystem\../../../bin\CEGUIBase.dll) does not match the Linker's OutputFile property value (C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\bin\CEGUIBase_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(CEGUIBase) does not match the Linker's OutputFile property value (CEGUIBase_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 'CEGUIOgreRenderer_d.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


However when I had CEGUIBase's additonal library includes like so:
../../../../lib/debug
../../../dependencies/lib/dynamic


I got this:

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\projects\premake\BaseSystem\../../../bin\CEGUIBase.dll) does not match the Linker's OutputFile property value (C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\bin\CEGUIBase_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(CEGUIBase) does not match the Linker's OutputFile property value (CEGUIBase_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 'OgreMain_d.lib'
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========



This is what happens when I hit build on CEGUIOgreRenderer:


1>------ Build started: Project: CEGUIBase, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\projects\premake\BaseSystem\../../../bin\CEGUIBase.dll) does not match the Linker's OutputFile property value (C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\bin\CEGUIBase_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(CEGUIBase) does not match the Linker's OutputFile property value (CEGUIBase_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 'CEGUIOgreRenderer_d.lib'
2>------ Build started: Project: CEGUIOgreRenderer, Configuration: Debug Win32 ------
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\projects\premake\RendererModules\Ogre\../../../../bin\CEGUIOgreRenderer.dll) does not match the Linker's OutputFile property value (C:\Users\t\Documents\Visual Studio 2010\Devving\CEGUI-0.7.9\bin\CEGUIOgreRenderer_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).
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(CEGUIOgreRenderer) does not match the Linker's OutputFile property value (CEGUIOgreRenderer_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).
2>LINK : fatal error LNK1104: cannot open file '../../../../lib/CEGUIBase_d.lib'
========== Build: 0 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========


That's what I've been complaining about the whole time. How can it ask me for CEGUIOgreRenderer_D.lib when I build CEGUIBase, but when I build CEGUIOgreRenderer the compiler says I need the CEGUIBase_D.lib file?

And now looking all three situations it looks like the addition library directories may be at fault... I don't know. I believe the expression "../../../<FolderNameHere>" causes the program to go up three directories into the FolderNameHere because I've asked on the Ogre forums. OgreMain_d.lib is definitely in the folder "C:\Users\t\Documents\Visual Studio 2010\Devving\OgreSDK\lib\debug" I'm looking at it right now. Maybe something is wrong with the directories?

I won't be able to post a video just yet, I've got to go to work in fifteen minutes.


Return to “Help”

Who is online

Users browsing this forum: No registered users and 11 guests