unordered_set в Cython с использованием ноутбука Jupyter - PullRequest
0 голосов
/ 03 января 2019

Я застрял, пытаясь использовать unordered_sets в Cython в блокноте Jupyter на моем Mac.

%%cython -a -3
# distutils: language = c++
# cython: c_string_type=unicode, c_string_encoding=utf8
import cython
from libcpp.unordered_set cimport unordered_set

def test():
    cdef unordered_set[int] s
    return s

Выше приведенные значения ячеек: DistutilsExecError: command 'gcc' failed with exit status 1

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Для меня наконец-то работала модифицированная версия ответа @ ead .

I , обновленная GCC с использованием homebrew (и XCode), и следующий код делаетне выдает ту же ошибку, что и раньше.

%%cython -a -3 -c=-stdlib=libc++
# distutils: language = c++

import cython
from libcpp.unordered_set cimport unordered_set

def test():
    cdef unordered_set[int] s
    return s
0 голосов
/ 04 января 2019

В старых версиях gcc по умолчанию не используется c ++ - 11 (но c ++ - 98), а поскольку unordered_map - это функция c ++ 11, вам необходимо передать параметр компилятору.

Например, через:

%%cython -a -3 -c=-std=c++11

Или обновите ваш gcc до 6.0 или выше.

...