boost / assign.hpp не работает в Xcode 6.3

#include <boost/range/adaptors.hpp>
#include <boost/assign.hpp>
#include <iostream>
using namespace boost::adaptors;
using namespace boost::assign;

template<int N>
struct factorial
{
enum {
value = N * factorial<N-1>::value
};
};

template<>
struct factorial<0>
{
enum {
value = 1
};

};

int main()
{
typedef std::map<uint64_t, std::string> map_type;

map_type const map_obj = {
{ 0x0000000000000401, "one"   },
{ 0x0000000000000002, "two"   },
{ 0x0000000000000003, "three" },
{ 0x0000000000000404, "four"  },
{ 0x0000000000000005, "five"  },
};

const int mask_value = 0x000000000000FF00;

auto func = [](const map_type::value_type& p)
{
std::cout << " value_type.second: " << p.second << "\n";
return (p.first & mask_value) != 0;
};

for(const auto&v : map_obj | filtered(func) | map_values)
{
std::cout << " Got: " << v <<"\n" ;
}
std::cout << " 5!: " << factorial<5>::value << "\n";
}

Приведенный выше пример кода используется для компиляции в Xcode, но в Xcode 6.3 не удается скомпилировать список инициализатора для map obj в начале основной функции. Там нет жалоб на повышение заголовков. Есть идеи, почему?

0

Решение

Ох, ошибка была ошибка времени ссылки, мой буст был собран с использованием libc ++ без использования libstdc ++. Переключение библиотеки сработало.

0

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


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