Использование boost от XCODE 4.6.1 — каковы правильные настройки сборки?

Я загрузил Boost 1.53 и распаковал в Users / user / Desktop / boost_1_53_0
Я успешно создал boost как статические библиотеки, следуя инструкциям на: http://libcinder.org/docs/v0.8.5/_cinder_boost.html

Я изменил «Настройки компоновки» XCODE «Пути поиска по заголовку» на / Users / user / Desktop / boost_1_53_0, а также «Пути поиска библиотеки» на Users / user / Desktop / boost_1_53_0 / stage / lib

Затем я строю и получаю ошибки:

Первая ошибка, которую я получаю, — это has_binary_operator.hpp. Проблема с разбором. Ожидаемое имя участника или ‘;’ после объявления спецификаторов в строке:

шаблон < имя типа Lhs, имя типа Rhs>

struct operator_exists {

У кого-нибудь есть советы, какими должны быть настройки сборки? Проект содержит некоторые файлы, которые являются какао / цель C (.m) и другие, которые являются C ++ (. Mm), используя boost. Я совершенно новичок в попытке использовать boost под OSX mountain lion и XCODE 4.6.1.

4

Решение

Я немного опоздал на этот, но в случае, если у кого-то еще есть эта проблема …

У меня была эта проблема с наддувом в проектах, использующих Objective C. Я получал проблемы с разбором и семантикой в ​​has_binary_operator.hpp и lexical_cast.hpp.

Быстрое исправление заключалось во вставке «#undef check» перед включением заголовков надстроек в исходные файлы Objective C, так как «check» — зарезервированное слово в Objective C.

1

Другие решения

Вы можете убедиться, что тип компилятора установлен как GNU98 или что-то подобное, компилятор по умолчанию XCODE4 может быть совместим с C ++ 11

0

Я использую повышение от XCODE, и я согласен с fatih_k. У меня все настройки языка c и c ++ установлены на GNU99 и GNU ++ 98. У меня также есть опция ‘compile sources as’, установленная на ‘Согласно типу файла’.

Я обнаружил, что проекты, которые я создаю, всегда по умолчанию используют Objective C, поэтому, возможно, просто просмотрите настройки вашего проекта и убедитесь, что у вас все настроено для C ++, а не Objective C.

Я еще не пробовал варианты C ++ 11 с boost.

0

Компилятором по умолчанию Xcode 4.x является apple llvm, и он использует libc ++ по умолчанию. Вы можете изменить настройки в Xcode

Чтобы изменить stdlib на libc ++

а. Выберите цель из Xcode и перейдите на вкладку BuildSettings.

б. Перейти к компилятору Apple LLVM 4.2 — языковая опция

Измените параметр как libstd с libc ++

Поменять компилятор

а. Выберите цель из Xcode и перейдите на вкладку BuildSettings.

б. Перейти вниз Варианты сборки

Измените параметр C / C ++ / Objective C — по умолчанию будет выбран «Apple LLVM compiler 4.2». Измените его на g ++ 4.2.

0
По вопросам рекламы [email protected]