Compile problem with shared_ptr on unusual platform

I'm trying to use shared_ptr<> from boost 1.33.0 on the Metrowerks CodeWarrior for PSP 1.2 (that's Playstation Portable) and am running into a problem, which I believe may be related to the boost config system and it not being prepared for my admittedly unusual toolchain. I have successfully used this on many other platforms in the past, and have thoroughly enjoyed the boost in productivity and safety through its use. Here's my problem, a simple "hello world" app using boost::shared_ptr< std::string > using the top-level <boost/shared_ptr.hpp> include yields the following link error: Link Error : Undefined : "boost::throw_exception(const std::exception&)" Referenced from "boost::detail::shared_count::!<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>(std::basic_string<char, std::char_traits<char>, std::allocator<char>>*)" in main.cpp Link failed. Any insight into this problem, or the configuration system and how I might adapt it to this compiler, are greatly appreciated. -allen

Link Error : Undefined : "boost::throw_exception(const std::exception&)" Referenced from "boost::detail::shared_count::!<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>(std::basic_string<char, std::char_traits<char>, std::allocator<char>>*)" in main.cpp
Link failed.
Any insight into this problem, or the configuration system and how I might adapt it to this compiler, are greatly appreciated.
If the compiler has no exception handling support, then boost::throw_exception is *deliberately* left undefined. It's up to you to provide a suitable implementation that does whatever you want it too when an exceptional condition occurs (abort probably). John.

John Maddock wrote:
Link Error : Undefined : "boost::throw_exception(const std::exception&)" Referenced from "boost::detail::shared_count::!<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>(std::basic_string<char, std::char_traits<char>, std::allocator<char>>*)" in main.cpp
Link failed.
Any insight into this problem, or the configuration system and how I might adapt it to this compiler, are greatly appreciated.
If the compiler has no exception handling support, then boost::throw_exception is *deliberately* left undefined. It's up to you to provide a suitable implementation that does whatever you want it too when an exceptional condition occurs (abort probably).
Indeed, see http://boost.org/libs/utility/throw_exception.html

This brings me to another question: has someone already used boost on XBOX, XBOX-360, PlayStation, or PlayStation2? I'm especially interested on the shared-prt, signal, and multi-threading libs... ============================================ "Allen Gooch" <allen.gooch@gmail.com> wrote in message news:b1f26a390511062148k71f85701s882036d78bbc7788@mail.gmail.com... I'm trying to use shared_ptr<> from boost 1.33.0 on the Metrowerks CodeWarrior for PSP 1.2 (that's Playstation Portable) and am running into a problem, which I believe may be related to the boost config system and it not being prepared for my admittedly unusual toolchain. I have successfully used this on many other platforms in the past, and have thoroughly enjoyed the boost in productivity and safety through its use. Here's my problem, a simple "hello world" app using boost::shared_ptr< std::string > using the top-level <boost/shared_ptr.hpp> include yields the following link error: Link Error : Undefined : "boost::throw_exception(const std::exception&)" Referenced from "boost::detail::shared_count::!<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>(std::basic_string<char, std::char_traits<char>, std::allocator<char>>*)" in main.cpp Link failed. Any insight into this problem, or the configuration system and how I might adapt it to this compiler, are greatly appreciated. -allen _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (4)
-
Allen Gooch
-
John Maddock
-
Kosta
-
Peter Dimov