Building 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

Rizzmond
Just popping in
Just popping in
Posts: 4
Joined: Tue Apr 29, 2014 00:14

Building CEGUI

Postby Rizzmond » Tue Apr 29, 2014 00:22

I am having trouble building CEGUI 0.8.3. I am following the steps instructed here https://www.youtube.com/watch?v=VaD-MQJLtWk.

Dependencies CMake log (generator is Visual Studio 12 Win64):

Code: Select all

The C compiler identification is MSVC 18.0.21005.1
The CXX compiler identification is MSVC 18.0.21005.1
Check for working C compiler using: Visual Studio 12 Win64
Check for working C compiler using: Visual Studio 12 Win64 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 12 Win64
Check for working CXX compiler using: Visual Studio 12 Win64 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Configuring done
Generating done


Building dependencies in Visual Studio 2013 express:
debug and release:
========== Build: 26 succeeded, 0 failed, 0 up-to-date, 1 skipped ==========

Move dependencies to CEGUI folder.

CEGUI CMake log (generator is Visual Studio 12 Win64):

Code: Select all

The C compiler identification is MSVC 18.0.21005.1
The CXX compiler identification is MSVC 18.0.21005.1
Check for working C compiler using: Visual Studio 12 Win64
Check for working C compiler using: Visual Studio 12 Win64 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 12 Win64
Check for working CXX compiler using: Visual Studio 12 Win64 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Found PCRE: D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/pcre.lib 
Found FREETYPE: D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/freetype.lib 
Could NOT find MINIZIP (missing:  MINIZIP_LIB MINIZIP_LIB_DBG MINIZIP_H_PATH)
Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)
Could NOT find FRIBIDI (missing:  FRIBIDI_FOUND_ALL_LIBS FRIBIDI_FOUND_ALL_LIBS_DBG FRIBIDI_INCLUDE_DIR)
Found OpenGL: opengl32 
Found GLEW: D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/glew.lib 
Found GLM: D:/CEGUI/cegui-0.8.3/dependencies/include 
Found GLFW: D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/glfw.lib 
Could NOT find DIRECTXSDK (missing:  DIRECTXSDK_LIB_PATH DIRECTXSDK_H_PATH DIRECTXSDK_MAX_D3D)
Could NOT find D3DX11EFFECTS (missing:  D3DX11EFFECTS_LIB D3DX11EFFECTS_LIB_DBG D3DX11EFFECTS_H_PATH)
Could NOT find IRRLICHT (missing:  IRRLICHT_LIB IRRLICHT_H_PATH)
Could NOT find OGRE (missing:  OGRE_LIB OGRE_H_PATH OGRE_H_BUILD_SETTINGS_PATH)
Could NOT find OIS (missing:  OIS_LIB OIS_H_PATH)
Could NOT find DIRECTFB (missing:  DIRECTFB_LIB DIRECTFB_LIB_DBG DIRECTFB_H_PATH)
Could NOT find OPENGLES (missing:  OPENGLES_LIB OPENGLES_H_PATH)
Found EXPAT: D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/expat.lib 
Could NOT find XERCESC (missing:  XERCESC_LIB XERCESC_LIB_DBG XERCESC_H_PATH)
Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
Could NOT find TINYXML (missing:  TINYXML_LIB TINYXML_LIB_DBG TINYXML_H_PATH)
Could NOT find RAPIDXML (missing:  RAPIDXML_H_PATH)
Could NOT find IL (missing:  IL_LIB IL_LIB_DBG IL_H_PATH)
Could NOT find ILU (missing:  ILU_LIB ILU_LIB_DBG)
Could NOT find FREEIMAGE (missing:  FREEIMAGE_LIB FREEIMAGE_LIB_DBG FREEIMAGE_H_PATH)
Found SILLY: D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/SILLY.lib 
Could NOT find CORONA (missing:  CORONA_LIB CORONA_LIB_DBG CORONA_H_PATH)
Could NOT find PVRTOOLS (missing:  PVRTOOLS_LIB PVRTOOLS_H_PATH)
Found LUA51: D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/lua.lib 
Found TOLUAPP: D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/toluapp.lib 
Could NOT find PythonInterp (missing:  PYTHON_EXECUTABLE)
Could NOT find PythonLibs (missing:  PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
Could NOT find Boost
Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
Some or all of the gtk libraries were not found. (missing:  GTK2_GTK_LIBRARY GTK2_GTK_INCLUDE_DIR GTK2_GDK_INCLUDE_DIR GTK2_GDKCONFIG_INCLUDE_DIR GTK2_GDK_LIBRARY GTK2_GLIB_INCLUDE_DIR GTK2_GLIBCONFIG_INCLUDE_DIR GTK2_GLIB_LIBRARY)
Configuring done
CMake Warning (dev) in cegui/src/CMakeLists.txt:
  Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
  interface.  Run "cmake --help-policy CMP0022" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  Target "CEGUIBase-0" has an INTERFACE_LINK_LIBRARIES property which differs
  from its LINK_INTERFACE_LIBRARIES properties.

  INTERFACE_LINK_LIBRARIES:

    $<$<NOT:$<CONFIG:DEBUG>>:D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/freetype.lib>;$<$<CONFIG:DEBUG>:D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/freetype_d.lib>;$<$<NOT:$<CONFIG:DEBUG>>:D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/pcre.lib>;$<$<CONFIG:DEBUG>:D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/pcre_d.lib>;winmm;$<$<CONFIG:DEBUG>:DbgHelp>

  LINK_INTERFACE_LIBRARIES:

   

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in cegui/src/RendererModules/OpenGL/CMakeLists.txt:
  Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
  interface.  Run "cmake --help-policy CMP0022" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  Target "CEGUIOpenGLRenderer-0" has an INTERFACE_LINK_LIBRARIES property
  which differs from its LINK_INTERFACE_LIBRARIES properties.

  INTERFACE_LINK_LIBRARIES:

    glu32;opengl32;$<$<NOT:$<CONFIG:DEBUG>>:D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/glew.lib>;$<$<CONFIG:DEBUG>:D:/CEGUI/cegui-0.8.3/dependencies/lib/dynamic/glew_d.lib>;CEGUIBase-0

  LINK_INTERFACE_LIBRARIES:

   

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in cegui/src/CommonDialogs/CMakeLists.txt:
  Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
  interface.  Run "cmake --help-policy CMP0022" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  Target "CEGUICommonDialogs-0" has an INTERFACE_LINK_LIBRARIES property
  which differs from its LINK_INTERFACE_LIBRARIES properties.

  INTERFACE_LINK_LIBRARIES:

    CEGUIBase-0

  LINK_INTERFACE_LIBRARIES:

   

This warning is for project developers.  Use -Wno-dev to suppress it.

Generating done


Building CEGUI in Visual Studio 2013 express:
Tons of error C2039 which are mostly:
D:\CEGUI\cegui-0.8.3\cegui\include\CEGUI/String.h(1246): error C2039: 'min' : is not a member of 'std'


Thank you for any assistance.

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

Re: Building CEGUI

Postby Ident » Tue Apr 29, 2014 12:12

Thanks for the well written post.

Can you check your project settings to see what preprocessor definitions are defined for your CEGUI projects? Is there "NOMINMAX" defined?
CrazyEddie: "I don't like GUIs"

Rizzmond
Just popping in
Just popping in
Posts: 4
Joined: Tue Apr 29, 2014 00:14

Re: Building CEGUI

Postby Rizzmond » Thu May 01, 2014 16:59

Yes, NOMINMAX is defined in the preprocessor. This definition should be removed?

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

Re: Building CEGUI

Postby Ident » Thu May 01, 2014 17:08

No, it should stay and if it is in effect it is supposed to prevent the windows-caused error that you are getting there, which is a result of a conflict between std and windows headers. Windows reeimplements min/max functions.

I see you use Visual Studio 2012. I haven't tested it but others did. I am not aware of this issue in this context or why it would be not on VS2010 but appear on VS2012...
CrazyEddie: "I don't like GUIs"

Rizzmond
Just popping in
Just popping in
Posts: 4
Joined: Tue Apr 29, 2014 00:14

Re: Building CEGUI

Postby Rizzmond » Thu May 01, 2014 17:50

OK i did some digging and it looks like the problem I had is discussed here:
viewtopic.php?f=3&t=6663

I added

Code: Select all

// min/max is defined in algroithm in VS2013+
#if defined(_MSC_VER) && (_MSC_VER >= 1800)
#    include <algorithm>
#endif


to Base.h and now the CEGUI projects are compiling correctly. I have version 0.8.3 for reference.

Rizzmond
Just popping in
Just popping in
Posts: 4
Joined: Tue Apr 29, 2014 00:14

Re: Building CEGUI

Postby Rizzmond » Thu May 01, 2014 17:59

Ident wrote:No, it should stay and if it is in effect it is supposed to prevent the windows-caused error that you are getting there, which is a result of a conflict between std and windows headers. Windows reeimplements min/max functions.

I see you use Visual Studio 2012. I haven't tested it but others did. I am not aware of this issue in this context or why it would be not on VS2010 but appear on VS2012...


I am using visual studio 2013 express. For some reason 2013 requires the "visual studio 12" generator in CMAKE (I would suggest making a note of this in the main documentation).

User avatar
mmixLinus
Quite a regular
Quite a regular
Posts: 71
Joined: Fri May 20, 2011 08:46
Location: Lund, Sweden
Contact:

Re: Building CEGUI

Postby mmixLinus » Fri May 02, 2014 07:29

Ahem, just to reiterate a comment regarding Visual Studio version numbering: (Taken from Wikipedia)

Ver - Product
5.0 - Visual Studio 97
6.0 - Visual Studio 6.0
7.0 - Visual Studio .NET (2002)
7.1 - Visual Studio .NET 2003
8.0 - Visual Studio 2005
9.0 - Visual Studio 2008
10.0 - Visual Studio 2010
11.0 - Visual Studio 2012
12.0 - Visual Studio 2013
MMiX.Me 3D Music Player
Galaxy Navigator 3D - 2 million stars (ESA's Gaia satellite)
(YouTube|Facebook)

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

Re: Building CEGUI

Postby Ident » Fri May 02, 2014 09:44

I was only quickly reading through the log. Sorry if I caused any confusion, I mistakenly though you use Visual Studio 2012, it is of course 2013 like mmixLinus said.


We need a 0.8.4 release. It will contain this fix btw.
CrazyEddie: "I don't like GUIs"


Return to “Help”

Who is online

Users browsing this forum: No registered users and 10 guests