«неверный кодогенератор, указатель diff in boost »в 32-битной сборке

В 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 ++), выдают указанную выше ошибку.

5
задан sakra 22 May 2011 в 10:19
поделиться