James Kulp
2013-11-02 19:56:32 UTC
I figured I would give this a try on WIndows 7 and Visual Studio 12.0
(2013). (setting the platform to vs10).
There is some sort of python library issue (below).
The symbols in question are in the python27.lib which is referenced on
the link line, but not with the __imp__ prefix.
(using dumpbin /exports).
I'm no WIndows or Python expert at all. I tried two different
precompiled python packages for windows, with the same error.
I have not yet tried building python from source on VS12.
I did notice that several of the "libpath" entries point to places that
don't exist in python2.7, like "python27\lib\x86_win32" and
"python27\PCBuild".
Any ideas?
Here are the errors:
link -out:omniidl.exe -nologo -manifest -DEBUG -libpath:c:\python27\libs
-libpath:c:\python27\lib\x86_win32 -libpath:c:\python27\PCbuild
-PDB:omniidl.exe.pdb -libpath:..\..\..\..\lib\x86_win32 y.tab.o lex.yy.o
idlerr.o idlutil.o idltype.o idlrepoId.o idlscope.o idlexpr.o idlast.o
idlvalidate.o idldump.o idlconfig.o idlfixed.o idlpython.o python27.lib
Creating library omniidl.lib and object omniidl.exp
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyType_IsSubtype referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyObject_SetAttrString referenced in function _init_omniidl
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyInt_FromLong referenced in function _IdlPyAlwaysTempFile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyLong_FromUnsignedLong referenced in function "public: virtual
void __thiscall PythonVisitor::visitCaseLabel(class CaseLabel *)"
(?visitCaseLabel at PythonVisitor@@UAEXPAVCaseLabel@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyLong_FromLongLong referenced in function "public: virtual void
__thiscall PythonVisitor::visitCaseLabel(class CaseLabel *)"
(?visitCaseLabel at PythonVisitor@@UAEXPAVCaseLabel@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyLong_FromUnsignedLongLong referenced in function "public:
virtual void __thiscall PythonVisitor::visitCaseLabel(class CaseLabel
*)" (?visitCaseLabel at PythonVisitor@@UAEXPAVCaseLabel@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyFloat_FromDouble referenced in function "public: virtual void
__thiscall PythonVisitor::visitConst(class Const *)"
(?visitConst at PythonVisitor@@UAEXPAVConst@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyString_FromString referenced in function _IdlPyPlatformDefines
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyString_AsString referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_New referenced in function _IdlPyPlatformDefines
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_GetItem referenced in function "public: virtual void
__thiscall PythonVisitor::visitTypedef(class Typedef *)"
(?visitTypedef at PythonVisitor@@UAEXPAVTypedef@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_SetItem referenced in function "private: struct _object *
__thiscall PythonVisitor::commentsToList(class Comment const *)"
(?commentsToList at PythonVisitor@@AAEPAU_object@@PBVComment@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_Insert referenced in function _IdlPyRelativeScopedName
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_Append referenced in function _IdlPyPlatformDefines
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyFile_AsFile referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyFile_Name referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyErr_SetString referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyArg_ParseTuple referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__Py_BuildValue referenced in function "public: virtual void
__thiscall PythonVisitor::visitCaseLabel(class CaseLabel *)"
(?visitCaseLabel at PythonVisitor@@UAEXPAVCaseLabel@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__Py_InitModule4 referenced in function _init_omniidl
idlpython.o : error LNK2019: unresolved external symbol
__imp__Py_Initialize referenced in function _main
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyRun_SimpleStringFlags referenced in function _main
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyRun_InteractiveLoopFlags referenced in function
_IdlPyRunInteractiveLoop
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyErr_Print referenced in function "public: __thiscall
PythonVisitor::PythonVisitor(void)" (??0PythonVisitor@@QAE at XZ)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PySys_SetArgv referenced in function _main
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyImport_ImportModule referenced in function "public: __thiscall
PythonVisitor::PythonVisitor(void)" (??0PythonVisitor@@QAE at XZ)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyObject_CallMethod referenced in function "private: struct
_object * __thiscall PythonVisitor::commentsToList(class Comment const
*)" (?commentsToList at PythonVisitor@@AAEPAU_object@@PBVComment@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyObject_Size referenced in function _IdlPyRelativeScopedName
idlpython.o : error LNK2019: unresolved external symbol
__imp__PySequence_Check referenced in function _IdlPyRelativeScopedName
idlpython.o : error LNK2019: unresolved external symbol
__imp__PySequence_GetItem referenced in function _IdlPyRelativeScopedName
idlpython.o : error LNK2001: unresolved external symbol
__imp___Py_NoneStruct
idlpython.o : error LNK2001: unresolved external symbol __imp__PyFile_Type
idlpython.o : error LNK2001: unresolved external symbol __imp__PyExc_IOError
idlpython.o : error LNK2001: unresolved external symbol
__imp__PyExc_TypeError
omniidl.exe : fatal error LNK1120: 34 unresolved externals
(2013). (setting the platform to vs10).
There is some sort of python library issue (below).
The symbols in question are in the python27.lib which is referenced on
the link line, but not with the __imp__ prefix.
(using dumpbin /exports).
I'm no WIndows or Python expert at all. I tried two different
precompiled python packages for windows, with the same error.
I have not yet tried building python from source on VS12.
I did notice that several of the "libpath" entries point to places that
don't exist in python2.7, like "python27\lib\x86_win32" and
"python27\PCBuild".
Any ideas?
Here are the errors:
link -out:omniidl.exe -nologo -manifest -DEBUG -libpath:c:\python27\libs
-libpath:c:\python27\lib\x86_win32 -libpath:c:\python27\PCbuild
-PDB:omniidl.exe.pdb -libpath:..\..\..\..\lib\x86_win32 y.tab.o lex.yy.o
idlerr.o idlutil.o idltype.o idlrepoId.o idlscope.o idlexpr.o idlast.o
idlvalidate.o idldump.o idlconfig.o idlfixed.o idlpython.o python27.lib
Creating library omniidl.lib and object omniidl.exp
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyType_IsSubtype referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyObject_SetAttrString referenced in function _init_omniidl
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyInt_FromLong referenced in function _IdlPyAlwaysTempFile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyLong_FromUnsignedLong referenced in function "public: virtual
void __thiscall PythonVisitor::visitCaseLabel(class CaseLabel *)"
(?visitCaseLabel at PythonVisitor@@UAEXPAVCaseLabel@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyLong_FromLongLong referenced in function "public: virtual void
__thiscall PythonVisitor::visitCaseLabel(class CaseLabel *)"
(?visitCaseLabel at PythonVisitor@@UAEXPAVCaseLabel@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyLong_FromUnsignedLongLong referenced in function "public:
virtual void __thiscall PythonVisitor::visitCaseLabel(class CaseLabel
*)" (?visitCaseLabel at PythonVisitor@@UAEXPAVCaseLabel@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyFloat_FromDouble referenced in function "public: virtual void
__thiscall PythonVisitor::visitConst(class Const *)"
(?visitConst at PythonVisitor@@UAEXPAVConst@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyString_FromString referenced in function _IdlPyPlatformDefines
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyString_AsString referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_New referenced in function _IdlPyPlatformDefines
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_GetItem referenced in function "public: virtual void
__thiscall PythonVisitor::visitTypedef(class Typedef *)"
(?visitTypedef at PythonVisitor@@UAEXPAVTypedef@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_SetItem referenced in function "private: struct _object *
__thiscall PythonVisitor::commentsToList(class Comment const *)"
(?commentsToList at PythonVisitor@@AAEPAU_object@@PBVComment@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_Insert referenced in function _IdlPyRelativeScopedName
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyList_Append referenced in function _IdlPyPlatformDefines
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyFile_AsFile referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyFile_Name referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyErr_SetString referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyArg_ParseTuple referenced in function _IdlPyCompile
idlpython.o : error LNK2019: unresolved external symbol
__imp__Py_BuildValue referenced in function "public: virtual void
__thiscall PythonVisitor::visitCaseLabel(class CaseLabel *)"
(?visitCaseLabel at PythonVisitor@@UAEXPAVCaseLabel@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__Py_InitModule4 referenced in function _init_omniidl
idlpython.o : error LNK2019: unresolved external symbol
__imp__Py_Initialize referenced in function _main
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyRun_SimpleStringFlags referenced in function _main
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyRun_InteractiveLoopFlags referenced in function
_IdlPyRunInteractiveLoop
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyErr_Print referenced in function "public: __thiscall
PythonVisitor::PythonVisitor(void)" (??0PythonVisitor@@QAE at XZ)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PySys_SetArgv referenced in function _main
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyImport_ImportModule referenced in function "public: __thiscall
PythonVisitor::PythonVisitor(void)" (??0PythonVisitor@@QAE at XZ)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyObject_CallMethod referenced in function "private: struct
_object * __thiscall PythonVisitor::commentsToList(class Comment const
*)" (?commentsToList at PythonVisitor@@AAEPAU_object@@PBVComment@@@Z)
idlpython.o : error LNK2019: unresolved external symbol
__imp__PyObject_Size referenced in function _IdlPyRelativeScopedName
idlpython.o : error LNK2019: unresolved external symbol
__imp__PySequence_Check referenced in function _IdlPyRelativeScopedName
idlpython.o : error LNK2019: unresolved external symbol
__imp__PySequence_GetItem referenced in function _IdlPyRelativeScopedName
idlpython.o : error LNK2001: unresolved external symbol
__imp___Py_NoneStruct
idlpython.o : error LNK2001: unresolved external symbol __imp__PyFile_Type
idlpython.o : error LNK2001: unresolved external symbol __imp__PyExc_IOError
idlpython.o : error LNK2001: unresolved external symbol
__imp__PyExc_TypeError
omniidl.exe : fatal error LNK1120: 34 unresolved externals