Closed GoogleCodeExporter closed 8 years ago
Thanks for the patch.
I have 2 questions about that:
- "#if (PROCEDURAL_PLATFORM == PROCEDURAL_PLATFORM_WIN32)" is not equivalent to
"#if defined(PROCEDURAL_PLATFORM_WIN32)" and the second doesn't work. Is there
a problem on your build with that definition?
- "typedef enum e_InsideType { IT_INSIDE, IT_OUTSIDE, IT_BORDERLINEOUTSIDE
}InsideType;" : what's the use of declaring 2 times? I find varying info on the
net about how to define an enum : "enum Color { red, white, blue };" on some
sites, "enum { red, white, blue } Color;" in other places, but I can't find
double definition anywhere. Any reason to this?
Original comment by michael.broutin@gmail.com
on 22 Nov 2011 at 9:24
That #if always returned true on my non-Win32 platform and I figured you will
set PROCEDURAL_PLATFORM_WIN32 only when it is meant to be defined.
I think the way the enum is declared now is the proper way to declare an enum
and typedef it at the same time. At least if you are pedantic it is. :)
Original comment by svenst...@gmail.com
on 24 Nov 2011 at 9:45
Patch applied.
I just kept the "#if (PROCEDURAL_PLATFORM == PROCEDURAL_PLATFORM_WIN32)" :
PROCEDURAL_PLATFORM_WIN32 is always defined as a constant (I had to fix that)
Original comment by michael.broutin@gmail.com
on 28 Nov 2011 at 7:36
Someone on the forums reported that the new flags made things not compile for
him.. that's probably related to the code problems in Ogre, but as long as
there's no way to compile with flags enabled out of the box, I guess I'll have
to make them optional..
Original comment by michael.broutin@gmail.com
on 13 Dec 2011 at 9:23
I replied on the forums. This is a problem with Ogre, not ogre-procedural.
Original comment by svenst...@gmail.com
on 13 Dec 2011 at 9:28
Is the problem just with Ogre 1.8rc1, or also with previous versions of Ogre?
(1-7 branch, for example). Sorry, but I really didn't have time to check that
by myself..
Original comment by michael.broutin@gmail.com
on 13 Dec 2011 at 9:49
Only with 1.8rc1 and current 1-8 branch.
Original comment by svenst...@gmail.com
on 13 Dec 2011 at 9:50
Hi, I tried to build CB+mingw version against precompiled Ogre for Mingw 1-7-2
(latest binary version from the website), and it also fails to build (without
the flags, everything is ok). From the compiler errors, the errors come from
boost..
Original comment by michael.broutin@gmail.com
on 17 Dec 2011 at 11:32
I suppose that is because of old mingw? Perhaps we should take out -std=c++0x
then for the sake of old compilers.
Original comment by svenst...@gmail.com
on 18 Dec 2011 at 5:55
My mingw version was 4.5.2
I made 3 new tests :
- remove "-std=c++0x" => doesn't compile
- install mingw 4.6.1 (latest mingw got from mingw-get-inst.exe) => doesn't
compile
- put back "-std=c++0x" => still doesn't compile
Of course, compile errors aren't the same each time... (but each time they come
from boost)
Original comment by michael.broutin@gmail.com
on 18 Dec 2011 at 12:05
Can you post the errors?
Original comment by svenst...@gmail.com
on 18 Dec 2011 at 12:17
With std=c++0x :
Using makefile: Makefile
[ 3%] Building CXX object
library/CMakeFiles/OgreProcedural.dir/src/ProceduralBoxGenerator.cpp.obj
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/detail/thread_heap_all
oc.hpp:15:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/tss.hpp:10,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeadersBoost.h:29,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeaders.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStdHeaders.h:110,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:315,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/thread_heap_allo
c.hpp:59:40: error: inline function 'void*
boost::detail::allocate_raw_heap_memory(unsigned int)' declared as dllimport:
attribute ignored [-Werror=attributes]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/thread_heap_allo
c.hpp:69:39: error: inline function 'void
boost::detail::free_raw_heap_memory(void*)' declared as dllimport: attribute
ignored [-Werror=attributes]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/shared_mutex.hpp:14:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/detail/thread_group.hpp:9,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/thread.hpp:24,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/condition_variable.hpp:13,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/condition_variable.hpp:14,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/condition.hpp:9,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeadersBoost.h:31,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeaders.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStdHeaders.h:110,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:315,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
: In constructor 'boost::shared_mutex::shared_mutex()':
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::shared_waiting'
[-Werror=missing-field-initializers]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::exclusive'
[-Werror=missing-field-initializers]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::upgrade' [-Werror=missing-field-initializers]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::exclusive_waiting'
[-Werror=missing-field-initializers]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::exclusive_waiting_blocked'
[-Werror=missing-field-initializers]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/shared_mutex.hpp:14:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/detail/thread_group.hpp:9,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/thread.hpp:24,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/condition_variable.hpp:13,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/condition_variable.hpp:14,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/condition.hpp:9,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeadersBoost.h:31,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeaders.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStdHeaders.h:110,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:315,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
: In member function 'T boost::shared_mutex::interlocked_compare_exchange(T*,
T, T) [with T = boost::shared_mutex::state_data]':
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:110:103: instantiated from here
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:50:99: error: dereferencing type-punned pointer will break strict-aliasing
rules [-Werror=strict-aliasing]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:50:99: error: dereferencing type-punned pointer will break strict-aliasing
rules [-Werror=strict-aliasing]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:51:52: error: dereferencing type-punned pointer will break strict-aliasing
rules [-Werror=strict-aliasing]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:51:52: error: dereferencing type-punned pointer will break strict-aliasing
rules [-Werror=strict-aliasing]
cc1plus.exe: all warnings being treated as errors
mingw32-make.exe[2]: ***
[library/CMakeFiles/OgreProcedural.dir/src/ProceduralBoxGenerator.cpp.obj]
Error 1
mingw32-make.exe[1]: *** [library/CMakeFiles/OgreProcedural.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
Process terminated with status 2 (0 minutes, 7 seconds)
11 errors, 0 warnings
without :
Using makefile: Makefile
[ 3%]
Building CXX object
library/CMakeFiles/OgreProcedural.dir/src/ProceduralBoxGenerator.cpp.obj
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/date_time/microsec_time_clock
.hpp:23:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/thread_time.hpp:9,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/basic_timed_mutex.hpp:15,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/basic_recursive_mutex.hpp:13,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/recursive_mutex.hpp:14,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/recursive_mutex.hpp:14,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeadersBoost.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeaders.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStdHeaders.h:110,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:315,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/date_time/filetime_functions.
hpp:99:32: error: use of C++0x long long integer constant [-Werror=long-long]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/date_time/posix_time/posix_ti
me_system.hpp:14:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/date_time/posix_time/ptime.hpp:12,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/date_time/posix_time/posix_time_types.hpp:12,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/thread_time.hpp:10,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/basic_timed_mutex.hpp:15,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/basic_recursive_mutex.hpp:13,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/recursive_mutex.hpp:14,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/recursive_mutex.hpp:14,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeadersBoost.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeaders.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStdHeaders.h:110,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:315,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/date_time/time_system_split.h
pp:41:1: error: use of C++0x long long integer constant [-Werror=long-long]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStringInterface.h:34:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreResource.h:34,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreResourceManager.h:33,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreArchiveManager.h:33,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:38,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreCommon.h:766:12: error: use
of C++0x long long integer constant [-Werror=long-long]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:30:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePlatform.h:257:2: error: ISO
C++ 1998 does not support 'long long' [-Werror=long-long]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePlatform.h:258:2: error: ISO
C++ 1998 does not support 'long long' [-Werror=long-long]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/config.hpp:57:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/detail/config.hpp:10,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/tss.hpp:8,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeadersBoost.h:29,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeaders.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStdHeaders.h:110,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:315,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/config/suffix.hpp:497:18:
error: ISO C++ 1998 does not support 'long long' [-Werror=long-long]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/config/suffix.hpp:498:18:
error: ISO C++ 1998 does not support 'long long' [-Werror=long-long]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/detail/thread_heap_all
oc.hpp:15:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/tss.hpp:10,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeadersBoost.h:29,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeaders.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStdHeaders.h:110,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:315,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/thread_heap_allo
c.hpp:59:40: error: inline function 'void*
boost::detail::allocate_raw_heap_memory(unsigned int)' declared as dllimport:
attribute ignored [-Werror=attributes]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/thread_heap_allo
c.hpp:69:39: error: inline function 'void
boost::detail::free_raw_heap_memory(void*)' declared as dllimport: attribute
ignored [-Werror=attributes]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/shared_mutex.hpp:14:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/detail/thread_group.hpp:9,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/thread.hpp:24,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/condition_variable.hpp:13,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/condition_variable.hpp:14,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/condition.hpp:9,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeadersBoost.h:31,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeaders.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStdHeaders.h:110,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:315,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
: In constructor 'boost::shared_mutex::shared_mutex()':
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::shared_waiting'
[-Werror=missing-field-initializers]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::exclusive'
[-Werror=missing-field-initializers]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::upgrade' [-Werror=missing-field-initializers]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::exclusive_waiting'
[-Werror=missing-field-initializers]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:84:33: error: missing initializer for member
'boost::shared_mutex::state_data::exclusive_waiting_blocked'
[-Werror=missing-field-initializers]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStringInterface.h:34:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreResource.h:34,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreResourceManager.h:33,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreArchiveManager.h:33,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:38,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreCommon.h: At global scope:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreCommon.h:745:3: error: ISO
C++ 1998 does not support 'long long' [-Werror=long-long]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreCommon.h:770:16: error: ISO
C++ 1998 does not support 'long long' [-Werror=long-long]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreCommon.h:777:3: error: ISO
C++ 1998 does not support 'long long' [-Werror=long-long]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreResourceManager.h:33:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreArchiveManager.h:33,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:38,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreResource.h:39:5: error: ISO
C++ 1998 does not support 'long long' [-Werror=long-long]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreResourceBackgroundQueue.h:36:
0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:92,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreWorkQueue.h:78:3: error: ISO
C++ 1998 does not support 'long long' [-Werror=long-long]
In file included from
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/shared_mutex.hpp:14:0,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/detail/thread_group.hpp:9,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/thread.hpp:24,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/condition_variable.hpp:13,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/condition_variable.hpp:14,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/condition.hpp:9,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeadersBoost.h:31,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Threading/OgreThreadHeaders.h:30,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgreStdHeaders.h:110,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/OgrePrerequisites.h:315,
from E:\Prog\Libs\OgreSDK_mingw_v1-7-2\include\OGRE/Ogre.h:31,
from E:\Prog\Projets\ogre-procedural\library\include/ProceduralStableHeaders.h:28,
from E:\Prog\Projets\ogre-procedural\library\src\ProceduralBoxGenerator.cpp:28:
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
: In member function 'T boost::shared_mutex::interlocked_compare_exchange(T*,
T, T) [with T = boost::shared_mutex::state_data]':
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:110:103: instantiated from here
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:50:99: error: dereferencing type-punned pointer will break strict-aliasing
rules [-Werror=strict-aliasing]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:50:99: error: dereferencing type-punned pointer will break strict-aliasing
rules [-Werror=strict-aliasing]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:51:52: error: dereferencing type-punned pointer will break strict-aliasing
rules [-Werror=strict-aliasing]
E:\Prog\Libs\OgreSDK_mingw_v1-7-2\boost_1_44/boost/thread/win32/shared_mutex.hpp
:51:52: error: dereferencing type-punned pointer will break strict-aliasing
rules [-Werror=strict-aliasing]
cc1plus.exe: all warnings being treated as errors
mingw32-make.exe[2]: ***
[library/CMakeFiles/OgreProcedural.dir/src/ProceduralBoxGenerator.cpp.obj]
Error 1
mingw32-make.exe[1]: *** [library/CMakeFiles/OgreProcedural.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
Process terminated with status 2 (0 minutes, 7 seconds)
23 errors, 0 warnings
Original comment by michael.broutin@gmail.com
on 18 Dec 2011 at 1:20
Alright, those problems are likely fixed in newer Boost versions as I do not
get them. However, Boost should not use our compile flags anyway because we
can't fix them and we do not care about them in Boost. Why not include Boost
using -isystem? The CMake equivalent is include_directories([AFTER|BEFORE]
[SYSTEM] dir1 dir2 ...). This disables the usage of our flags for those defined
as SYSTEM.
Obviously our flags should *only* apply to our project.
Original comment by svenst...@gmail.com
on 18 Dec 2011 at 1:43
Ok, tested the 'include_directories(SYSTEM ${BOOST_INCLUDE})' and that seems to
work :)
Original comment by michael.broutin@gmail.com
on 19 Dec 2011 at 11:49
Original issue reported on code.google.com by
svenst...@gmail.com
on 20 Nov 2011 at 7:54Attachments: