Я пытаюсь скомпилировать пакет ROS, который использует Boost. Код отлично компилируется в Linux, но в OS X я получаю сообщение об ошибке
ld: symbol(s) not found for architecture x86_64
Я установил Boost через brew, и кажется, что он установлен на 64-битной (моя система также 64-битная - OS X 10.9), как запущенная
file libboost_atomic-mt.dylib
выходы
libboost_atomic-mt.dylib: Mach-O 64-bit dynamically linked shared library x86_64
В файле CMakeFiles.txt я пробовал почти все с точки зрения флагов компиляции и компоновки, пробовал -stdlib как libc ++ и как libstdc ++, а также -mmacosx-version-min как все от 10.5 до 10.9. Например, сейчас у меня есть:
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++ -mmacosx-version-min=10.9")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libstdc++ -mmacosx-version-min=10.9")
Более того, сборка с -m64 приводит к тем же ошибкам, а сборка с -m32 дает те же ошибки, за исключением того, что в ней написано «... архитектура i136».
Следующие бункеры для вставки содержат мой файл CMakefiles.txt и ошибки компиляции соответственно:
http://pastebin.com/0MD8T916 - CMakeFiles.txt
http://pastebin.com/v3vk9i2r - ошибки
У меня заканчиваются идеи, как решить эту проблему ...
Спасибо за помощь!