В Mac OS X 10.6 я создаю разделяемую библиотеку C ++, которая ссылается на повышение 1.46. Я использую инструменты командной строки, установленные с Xcode 4.0.
64-битная сборка работает нормально. При сборке для 32-разрядной версии я получаю следующее сообщение об ошибке при связывании:
ld: bad codegen, pointer diff in boost::detail::sp_counted_base::sp_counted_base()to global weak symbol vtable for boost::detail::sp_counted_basefor architecture i386
Единственное решение, которое я нашел, - использовать g ++ - 4.0 для 32-разрядной сборки. Все другие компиляторы, которые я пробовал (g ++ - 4.2, llvm-g ++ - 4.2 и clang ++), выдают указанную выше ошибку.