/ / Použitie / Kompilácia C ++ s Cythonom - python, c ++, c, gcc, cython

Použitie / kompilácia C ++ s cython - python, c ++, c, gcc, cython

Pracujem na projekte, ktorý si vyžadoval veľké množstvo vyhľadávaní v slovníku. Ak chcete skúsiť vylepšiť rýchlosť, pokúšal som sa nahradiť slovníky unordered_maps z libcpp.

#!python
#cython: boundscheck=False, wraparound=False, infer_types=True,cdivision = True
from libcpp.unordered_map cimport unordered_map

Keď sa však pokúšam kompilovať s gcc na príkazovom riadku, kompilácia zlyhá

CAStar2.c:482:19: fatal error: utility: No such file or directory
#include <utility>
^
compilation terminated.

Zdá sa, že kompilátor nemôže nájsť viac požadovaných súborov.
Ako by som to ukázal na tieto súbory?

odpovede:

0 pre odpoveď č. 1

Súbor C vytvorený pomocou cythonu musí byť zostavený pomocou setuptools Extension.

Ak manuálne kompilujete všetky adresáre include a lib, ktoré by inak použili setuptools, je potrebné zadať aj manuálne.

vidieť tu je dokumentácia cython setuptools a pre minimálnu kompiláciu z príkladu riadku cmd.


0 pre odpoveď č. 2

Ukazuje sa, že problém bol môj kompilátor nie je aktiváciu podporu pre c ++ 11, ktorý cython Zdá sa, že produkujú. Pridanie možnosti -std=c++11 všetko kompilované normálne. Vďaka všetkým, ktorí pomáhali.