[issue21799] Py_SetPath() gives compile error: undefined reference to '__imp_Py_SetPath'

Pat Le Cat report at bugs.python.org
Sun Jun 22 10:48:26 CEST 2014


Pat Le Cat added the comment:

Okay I tried the exact same example code from your website on the MSVC-2013 (same OS) suite and got new errors with it and a strange warning.

>>Warning:
1>c:\python34\include\pymath.h(22): warning C4273: 'round' : inconsistent dll linkage
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\math.h(516) : see previous definition of 'round'

>>Runtime crash:
C:\Users\xxx\Documents\Visual Studio 2013\Projects\SnakesTest\x64\Release>SnakesTest.exe multiply multiply 3 2
Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

I linked with both the 'python3.lib' and the 'python34.lib' (what's the difference anyways?) with the same results.
It looks to me as if the DLL doesn't contain all the same symbols as in the include file, or have you done some obscure compressing with the DLL maybe? But the "inconsistent dll linkage" seems to be the leading hint here.


ADDENDUM: I forgot to mention that under mingw I do directly link to the python3.dll, since there is no python3.a libfile around and dlltool was unable to extract any symbols from the DLL.

----------
Added file: http://bugs.python.org/file35720/SnakesTest.cpp

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21799>
_______________________________________


More information about the Python-bugs-list mailing list