daiyue daiyue - 3 months ago 37
Python Question

warning LNK4197: export 'PyInit_python_module_name' specified multiple times; using first specification

I created some

Cython
files, and import them in a
Python
file using,

import pyximport
pyximport.install()

import Cython_Mod1
import Cython_Mod2


When I run the
py
file, the
C
compiler (
VC++14
) generated the following errors

Cython_Mod1.obj : warning LNK4197: export 'PyInit_Cython_Mod1' specified multiple times; using first specification


for each
Cython
module.

How to fix this and does it affect the performance or can be erroneous in the execution.

Jim Jim
Answer

LNK4197 is a warning, as such it shouldn't affect the compilation of your .c files, Cython probably just generates code that exports that function multiple times (for good reasons, I'd assume).

Since PyInit_<modname> is responsible for initializing the module; if your modules get initialized and imported correctly you have no issues. It won't affect the performance and/or result in erroneous execution.