Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 20, 2011, 8:49:58 PM (14 years ago)
Author:
rgrieder
Message:

That was a tricky one: for Orxonox, STL iterator checking was explicitly disabled for release builds with MSVC. Now it turns out that this actually changes the std::vector class, so that it cannot be shared across boundaries where the iterator checking setting is different. And Ogre compiles with the default behaviour, so iterator checking was enabled, even for release builds (MSVC 8 and 9, not 10). This caused Orxonox to crash completely in release builds with MSVC 8 and 9.
Resolution: revert to the standard behaviour (always enabled for MSVC 8/9 and only enabled for debug builds in MSVC 10). The performance shouldn't really degrade at all. Also, for deployment, we're not going to use MSVC 8 and 9 anymore anyway after kicklib merging.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/kicklib/cmake/CompilerConfigMSVC.cmake

    r8071 r8277  
    6868# Note: It hasn't been checked yet whether we have code that might break
    6969#ADD_COMPILER_FLAGS("-fp:fast" CACHE)
    70 
    71 # No iterator checking for release builds (MSVC 8 dosn't understand this though)
    72 ADD_COMPILER_FLAGS("-D_SECURE_SCL=0" ReleaseAll CACHE)
    7370
    7471# Newer MSVC versions come with std::shared_ptr which conflicts with
Note: See TracChangeset for help on using the changeset viewer.