2017-01-31 31 views
0

XCode 5.0.1 дает мне сообщение об ошибке после успешной компиляции 161 проекта проекта на C++. Были проблемы с ошибкой Apple Mach-O Linker, но ни один из них не помог мне.Ошибка Apple Mach-O Linker (ld). ld: -r и -dead-strip не могут использоваться вместе

Сообщения для ошибки следующим образом:

ld: -r and -dead_strip cannot be used together 
clang: error: linker command failed with exit code 1 
(use -v to see invocation) 

Соединительного раздел в моей настройке сборки в следующем изображении:

Linker Section of XCode 5.0.1

Может кто-нибудь, дайте мне знать, как решить эта ошибка?

UPDATE

Когда я установил Dead Code Stripping к No тогда я получаю 19 ошибок связывания. Mach-O Type установлен на Dynamic Library для обоих Release и Debug. Ошибки в этом случае являются следующие:

Undefined symbols for architecture x86_64: 
     "boost::re_detail_106000::perl_matcher<__gnu_cxx::__normal_iterator<wchar _t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>,  std::allocator<wchar_t> > >,  std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t  const*, std::basic_string<wchar_t, std::char_traits<wchar_t>,  std::allocator<wchar_t> > > > >, boost::regex_traits<wchar_t,  boost::cpp_regex_traits<wchar_t> >  >::construct_init(boost::basic_regex<wchar_t,  boost::regex_traits<wchar_t, boost::cpp_regex_traits<wchar_t> > > const&,  boost::regex_constants::_match_flags)", referenced from: 
     boost::re_detail_106000::perl_matcher<__gnu_cxx::__normal_iterator<wchar_ t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>,  std::allocator<wchar_t> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > >, boost::regex_traits<wchar_t, boost::cpp_regex_traits<wchar_t> > >::perl_matcher(__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, boost::match_results<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > > > >&, boost::basic_regex<wchar_t, boost::regex_traits<wchar_t, boost::cpp_regex_traits<wchar_t> > > const&, boost::regex_constants::_match_flags, __gnu_cxx::__normal_iterator<wchar_t const*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >) in AdWrksTagDataFactory.o 

И сообщение об ошибке следующим образом:

ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

В некоторых подобных вопросов, которые я видел, что это может быть связано с более чем одной версии Boost, но Я уже проверил это.

ответ

0

Просто установите Dead Code Stripping на No. Если для этой опции установлено значение Yes Xcode добавит флаг -dead_strip во время связывания, который не поддерживается при связывании перемещаемых двоичных файлов.

+0

Спасибо за ответ, но я уже проверил. Это показывает мне 10 ошибок связи. – d0mbn00b

+0

Какие ошибки вы получаете? Они могут быть не связаны с вашим первоначальным вопросом. – Steeve

+0

Я обновил их в вопросе. Взгляни, пожалуйста. – d0mbn00b

 Смежные вопросы

  • Нет связанных вопросов^_^