2

私はそれと同じくらい簡単なcythonコードを書きました

# distutils: language = c++

from libcpp.map cimport map,pair
from ios import *



cdef map[int,int] * u = new map[int,int]()

cdef add_item(int n, int x):
    cdef pair[int,int]p = pair[int,int](n,x)
    u.insert(p)

def add(int n, int x):
    add_item(n,x)

のようなビルドファイルを追加しました

def make_ext(modname, pyxfilename):
    from distutils.extension import Extension
    return Extension(name=modname,
                     sources=[pyxfilename],
                     language='C++')

次のような簡単なスクリプトを実行します

import hello

ライン付き

import pyximport pyximport.install()

私のサイトcustomize.pyで

スクリプトの実行時に私は得るImportError: Building module hello failed: ['ImportError: /home/odomontois/.pyxbld/lib.linux-x86_64-2.7/hello.so: undefined symbol: _ZTINSt8ios_base7failureE\n']

c++filt _ZTINSt8ios_base7failureE版画typeinfo for std::ios_base::failure

たとえば、どのオブジェクトファイルを含める必要があるか、pyxbld ファイルでこれを行う方法を見つける可能性はありますか。

4

1 に答える 1