我创建了一个名为 test.c 的 ac 文件,其中两个函数定义如下:
#include<stdio.h>
void hello_1(void){
printf("hello 1\n");
}
void hello_2(void){
printf("hello 2\n");
}
之后,我创建 test.pyx 如下:
import cython
cdef extern void hello_1()
设置文件如下:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
setup(cmdclass={'buld_ext':build_ext},
ext_modules=[Extension("test",["test.pyx", "test.c"],
include_dirs=[np.get_include()],
extra_compile_args=['-g', '-fopenmp'],
extra_link_args=['-g', '-fopenmp', '-pthread'])
])
当我运行安装文件时,它总是报告 hello_1 和 hello_2 有多个定义。谁能告诉我这个问题?