我有一个cython
文件random.pyx
,如下所示:
cdef public int get_random_number():
return 4
使用setup.py
这样:
然后我得到了一个动态库librandom.so
,现在我想在c++中使用这个so
文件,而不是python。在
#include <stdio.h>
#include "random.h"
int main() {
printf("%d\n",get_random_number());
return 0;
}
现在我在编译g++ -o main main.cpp -lrandom -L. -Wl,-rpath,"\$ORIGIN"
时会遇到这样的错误:
In file included from main.cpp:2:0:
random.h:26:1: error: ‘PyMODINIT_FUNC’ does not name a type
PyMODINIT_FUNC initrandom(void);
尝试将c代码更改为:
请注意,要运行可执行文件,您不能摆脱python环境。在
另请参见How to import Cython-generated module from python to C/C++ main file? (programming in C/C++)
相关问题 更多 >
编程相关推荐