From: Bruce S. <Bru...@nc...> - 2009-12-24 03:53:43
|
I built Boost 1_41_0 on an Intel Mac with Python 2.6.4 installed on Snow Leopard (OSX 10.6). Because with 10.6 the default for compiling is 64-bit, and the Carbon component of Visual is supported only for 32-bit programs, I specified 32-bit compilation when building Boost and when building Visual. When I try to build Visual, I get errors in compiling render_manager.cpp: from ../vpython-core2//src/core/util/render_manager.cpp:4: ../vpython-core2//dependencies/boost_files/boost/exception/diagnostic_information.hpp:29: error: declaration does not declare anything ../vpython-core2//dependencies/boost_files/boost/exception/diagnostic_information.hpp:30: error: declaration does not declare anything ../vpython-core2//dependencies/boost_files/boost/exception/diagnostic_information.hpp:31: error: expected primary-expression before ‘)’ token ../vpython-core2//dependencies/boost_files/boost/exception/diagnostic_information.hpp:40: error: declaration does not declare anything ../vpython-core2//dependencies/boost_files/boost/exception/diagnostic_information.hpp:41: error: declaration does not declare anything ../vpython-core2//dependencies/boost_files/boost/exception/diagnostic_information.hpp:42: error: expected primary-expression before ‘)’ token Below is the start of the file "diagnostic_information.hpp" with line numbers 29 and 40 indicated. Can someone with good Mac and/or C++ skills suggest a fix or workaround? I did Google around a bit without finding anything about this problem. Bruce Sherwood --------------------------------- //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef UUID_0552D49838DD11DD90146B8956D89593 #define UUID_0552D49838DD11DD90146B8956D89593 #include <boost/config.hpp> #include <boost/exception/get_error_info.hpp> #include <boost/exception/detail/exception_ptr_base.hpp> #include <boost/utility/enable_if.hpp> #include <exception> #include <sstream> #include <string> namespace boost { namespace exception_detail { template <class T> struct enable_boost_exception_overload { struct yes { char q[100]; }; typedef char no; static yes check(exception const *); // line 29 static no check(...); enum e { value=sizeof(check((T*)0))==sizeof(yes) }; }; template <class T> struct enable_std_exception_overload { struct yes { char q[100]; }; typedef char no; static yes check(std::exception const *); // line 40 static no check(...); enum e { value = !enable_boost_exception_overload<T>::value && sizeof(check((T*)0))==sizeof(yes) }; }; |