gpt4 book ai didi

c++ - cython C++ 未定义对 std::ios_base::failure 的引用

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:25:38 25 4
gpt4 key购买 nike

我写的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

有线条

导入pyximportpyximport.install()

在我的 sitecustomize.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 打印 std::ios_base::failure 的类型信息

是否有可能找出我应该包含的目标文件以及如何在我的 pyxbld 文件中执行此操作。

最佳答案

通过添加解决

libraries=["stdc++"]

到 pyxbld

关于c++ - cython C++ 未定义对 std::ios_base::failure 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19703816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com