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

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

Я изменил XCODE "Настройки сборки" "Пути поиска заголовков" в /Users/user/Desktop/boost _1_53_0, а также "Пути поиска библиотек" для пользователей/пользователей/Desktop/boost_1_53_0/stage/lib

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

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

template < typename Lhs, typename Rhs>

struct operator_exists {

...

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

4 ответа

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

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

Быстрое исправление вставляло "#undef check" перед включением заголовков форматирования в исходных файлах Objective C, так как казалось бы, что "проверка" - это зарезервированное слово в Objective C.


Я использую boost от XCODE, и я согласен с fatih_k. У меня есть все настройки языка c и С++, установленные в GNU99 и GNU ++ 98. У меня также есть параметр "Компиляция источников как", который задан как "В соответствии с типом файла".

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

Я еще не пробовал опции С++ 11 с boost.


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


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

Чтобы изменить stdlib как libС++

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

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

Измените параметр как libstd из libС++

Чтобы изменить компилятор

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

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

Измените параметр C/С++/Objective C - по умолчанию будет "Apple LLVM компилятор 4.2". Измените его на g++ 4.2

licensed under cc by-sa 3.0 with attribution.