Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用numpy.ctypeslib.load\u库时出错_Python_C++_Linker - Fatal编程技术网

Python 使用numpy.ctypeslib.load\u库时出错

Python 使用numpy.ctypeslib.load\u库时出错,python,c++,linker,Python,C++,Linker,我有一个prog.cpp程序: #include <iostream> using namespace std; int main(int argc, char** argv){ printf("hello world\n"); return 0; } 但我得到了以下错误: Traceback (most recent call last): File "prog.py", line 7, in <module> lib = npct.l

我有一个
prog.cpp
程序:

#include <iostream>

using namespace std;

int main(int argc, char** argv){
    printf("hello world\n");
    return 0;
}
但我得到了以下错误:

Traceback (most recent call last):
  File "prog.py", line 7, in <module>
    lib = npct.load_library('lib_prog', '.')
(...)
OSError: /my_dir/lib_prog.so: undefined symbol: _ZSt4cout
回溯(最近一次呼叫最后一次):
文件“prog.py”,第7行,在
lib=npct.load_库('lib_prog','
(...)
OSError:/my_dir/lib_prog.so:未定义的符号:_ZSt4cout
我的程序似乎与任何有关如何使用
numpy.ctypeslib.load\u库的示例完全相同。有人对发生的事情有什么见解吗

提前谢谢。

我发现你只需要在
int main…
之前添加
extern“C”


愿这对今后几年的任何人都有所帮助

这是一个链接器错误。您必须先加载标准库。(或者,您可以在链接器命令行中使用-lstdc++将其声明为依赖项)什么是我的标准库?您的标准库是从
std
命名空间提供符号的库。它可能是libstdc++,但在您的系统上可能会有所不同。但这不是python错误,因此请使用适当的标志重新标记它(这最多与python相关)。这是一个链接器问题,我正在使用Ubuntu 18.04。你是说问题出在使用名称空间std的
行中吗
Traceback (most recent call last):
  File "prog.py", line 7, in <module>
    lib = npct.load_library('lib_prog', '.')
(...)
OSError: /my_dir/lib_prog.so: undefined symbol: _ZSt4cout