Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 22, 2011, 6:23:45 PM (14 years ago)
Author:
rgrieder
Message:

Fixed build for MSVC 10: disabling the C++0x features seems a bad idea because some boost code relies on it for the new Visual Studio version.
Leaving it enabled breaks cpptcl though —> fixed.

Location:
code/branches/kicklib2
Files:
3 edited

Legend:

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

    r8285 r8298  
    6868# Note: It hasn't been checked yet whether we have code that might break
    6969#ADD_COMPILER_FLAGS("-fp:fast" CACHE)
    70 
    71 # Newer MSVC versions come with std::shared_ptr which conflicts with
    72 # boost::shared_ptr in cpptcl. And since we don't yet use the new C++ standard
    73 # anyway, disable it completely.
    74 ADD_COMPILER_FLAGS("-D_HAS_CPP0X=0" CACHE)
    7570
    7671# Use Link time code generation for Release config if ORXONOX_RELEASE is defined
  • code/branches/kicklib2/src/external/cpptcl/changes_orxonox.diff

    r5781 r8298  
    1 --- cpptcl.cc   So Feb  8 23:14:34 2009
    2 +++ cpptcl.cc   So Feb  8 23:13:07 2009
    3 @@ -320,7 +320,7 @@
     1--- cpptcl.cc   Fri Apr 22 12:18:47 2011
     2+++ cpptcl.cc   Fri Apr 22 12:20:02 2011
     3@@ -16,7 +16,8 @@
     4 using namespace Tcl;
     5 using namespace Tcl::details;
     6 using namespace std;
     7-using namespace boost;
     8+// boost::shared_ptr conflicts with the new std::shared_ptr
     9+//using namespace boost;
     10 
     11 
     12 result::result(Tcl_Interp *interp) : interp_(interp) {}
     13@@ -166,7 +167,7 @@
     14 {
     15 
     16 // map of polymorphic callbacks
     17-typedef map<string, shared_ptr<callback_base> > callback_interp_map;
     18+typedef map<string, boost::shared_ptr<callback_base> > callback_interp_map;
     19 typedef map<Tcl_Interp *, callback_interp_map> callback_map;
     20 
     21 callback_map callbacks;
     22@@ -179,7 +180,7 @@
     23 policies_map call_policies;
     24 
     25 // map of object handlers
     26-typedef map<string, shared_ptr<class_handler_base> > class_interp_map;
     27+typedef map<string, boost::shared_ptr<class_handler_base> > class_interp_map;
     28 typedef map<Tcl_Interp *, class_interp_map> class_handlers_map;
     29 
     30 class_handlers_map class_handlers;
     31@@ -320,7 +321,7 @@
    432 
    533           post_process_policies(interp, pol, objv, false);
     
    1038           Tcl_SetResult(interp, const_cast<char*>(e.what()), TCL_VOLATILE);
    1139           return TCL_ERROR;
    12 @@ -363,7 +363,7 @@
     40@@ -363,7 +364,7 @@
    1341 
    1442           post_process_policies(interp, pol, objv, true);
     
    1947           Tcl_SetResult(interp, const_cast<char*>(e.what()), TCL_VOLATILE);
    2048           return TCL_ERROR;
    21 @@ -430,7 +430,7 @@
     49@@ -430,7 +431,7 @@
    2250                Tcl_GetString(Tcl_GetObjResult(interp)),
    2351                object_handler, static_cast<ClientData>(chb), 0);
     
    2856           Tcl_SetResult(interp, const_cast<char*>(e.what()), TCL_VOLATILE);
    2957           return TCL_ERROR;
     58@@ -490,7 +491,7 @@
     59 }
     60 
     61 void class_handler_base::register_method(string const &name,
     62-     shared_ptr<object_cmd_base> ocb, policies const &p)
     63+     boost::shared_ptr<object_cmd_base> ocb, policies const &p)
     64 {
     65      methods_[name] = ocb;
     66      policies_[name] = p;
     67@@ -989,7 +990,7 @@
     68 }
     69 
     70 void interpreter::add_function(string const &name,
     71-     shared_ptr<callback_base> cb, policies const &p)
     72+     boost::shared_ptr<callback_base> cb, policies const &p)
     73 {
     74      Tcl_CreateObjCommand(interp_, name.c_str(),
     75           callback_handler, 0, 0);
     76@@ -999,13 +1000,13 @@
     77 }
     78 
     79 void interpreter::add_class(string const &name,
     80-     shared_ptr<class_handler_base> chb)
     81+     boost::shared_ptr<class_handler_base> chb)
     82 {
     83      class_handlers[interp_][name] = chb;
     84 }
     85 
     86 void interpreter::add_constructor(string const &name,
     87-     shared_ptr<class_handler_base> chb, shared_ptr<callback_base> cb,
     88+     boost::shared_ptr<class_handler_base> chb, boost::shared_ptr<callback_base> cb,
     89      policies const &p)
     90 {
     91      Tcl_CreateObjCommand(interp_, name.c_str(),
  • code/branches/kicklib2/src/external/cpptcl/cpptcl.cc

    r5781 r8298  
    1717using namespace Tcl::details;
    1818using namespace std;
    19 using namespace boost;
     19// boost::shared_ptr conflicts with the new std::shared_ptr
     20//using namespace boost;
    2021
    2122
     
    167168
    168169// map of polymorphic callbacks
    169 typedef map<string, shared_ptr<callback_base> > callback_interp_map;
     170typedef map<string, boost::shared_ptr<callback_base> > callback_interp_map;
    170171typedef map<Tcl_Interp *, callback_interp_map> callback_map;
    171172
     
    180181
    181182// map of object handlers
    182 typedef map<string, shared_ptr<class_handler_base> > class_interp_map;
     183typedef map<string, boost::shared_ptr<class_handler_base> > class_interp_map;
    183184typedef map<Tcl_Interp *, class_interp_map> class_handlers_map;
    184185
     
    491492
    492493void class_handler_base::register_method(string const &name,
    493      shared_ptr<object_cmd_base> ocb, policies const &p)
     494     boost::shared_ptr<object_cmd_base> ocb, policies const &p)
    494495{
    495496     methods_[name] = ocb;
     
    990991
    991992void interpreter::add_function(string const &name,
    992      shared_ptr<callback_base> cb, policies const &p)
     993     boost::shared_ptr<callback_base> cb, policies const &p)
    993994{
    994995     Tcl_CreateObjCommand(interp_, name.c_str(),
     
    10001001
    10011002void interpreter::add_class(string const &name,
    1002      shared_ptr<class_handler_base> chb)
     1003     boost::shared_ptr<class_handler_base> chb)
    10031004{
    10041005     class_handlers[interp_][name] = chb;
     
    10061007
    10071008void interpreter::add_constructor(string const &name,
    1008      shared_ptr<class_handler_base> chb, shared_ptr<callback_base> cb,
     1009     boost::shared_ptr<class_handler_base> chb, boost::shared_ptr<callback_base> cb,
    10091010     policies const &p)
    10101011{
Note: See TracChangeset for help on using the changeset viewer.