如何在OSX上为Python编译C++扩展(而不是C)?

use*_*733 3 c c++ python distutils

我正在使用distutils,并有一个模块spammodule.c编译,链接和完美的工作.

但是如果我将该模块重命名为.cpp并重新运行distutils构建/安装序列,则模块会构建但在python中导入时会出错:

ImportError:动态模块没有定义init函数(initspam)

CPP中的新模块是否有不同的格式而不是C?

Fle*_*exo 6

您需要将init函数包含在其中

#ifdef __cplusplus
extern "C" {
#endif

//initspam goes here

#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)

为了防止其名称被破坏.