Problems linking python25.lib into my executable using MSVC2008 Express

Hi all, Apologies if this is a common question, I googled for it and couldn't find any good answers. I've got a C++ program that includes an embedded Python interpreter, and under Linux and MacOS/X everything works fine. It's a Qt4-based program, so all I needed to do was add -lpython2.5 to the LIBS variable in my .pro file. Now I'm trying to get the same program working under Windows, but when I get to the link stage I run into trouble. I've compiled the Python 2.5 library using MSVC2008 Express (and the project files in the PCBuild8 sub-folder), but when I try to link my own app (adding python25.lib to my LIBS line, of course), I get the errors shown below. I notice that I only get link errors about the global objects exported in the Python25.lib library (e.g. _PyList_Type)... I don't get any errors related to exported Python functions. Is there something special I need to do in order to get MSVC2008's linker to resolved exported global objects? Thanks, Jeremy e:\msvc2008\vc\bin\nmake.exe -f Makefile.Release link /LIBPATH:"e: \Qt\4.4.0\lib" /NOLOGO /LIBPATH:../../../../../software/3rdparty/libsndfile/win32 /LIBPATH:../../../../../software/3rdparty/libsamplerate/win32 /LIBPATH:../../../../../software/3rdparty/libsamplerate /LIBPATH:../../../../../software/3rdparty/python/pcbuild8/win32 /LIBPATH:../../../../../software/libs/muscle/zlib/zlib /INCREMENTAL:NO /MANIFEST /MANIFESTFILE:"objects\CueStation.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /OUT:release\CueStation.exe @C: \DOCUME~1\JEREMY~1\LOCALS~1\Temp\nm48C.tmp PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol _PyList_Type referenced in function "long __cdecl muscle::ParsePythonSequence(struct _object *,class muscle::Message &)" (?ParsePythonSequence@muscle@@YAJPAU_object@@AAVMessage@1@@Z) PythonTemplateUtilityFunctions.obj : error LNK2001: unresolved external symbol _PyList_Type PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol _PyDict_Type referenced in function "long __cdecl muscle::AddPyObjectToMessage(class muscle::String const &,struct _object *,class muscle::Message &)" (?AddPyObjectToMessage@muscle@@YAJABVString@1@PAU_object@@AAVMessage@1@@Z) PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol _PyUnicode_Type referenced in function "long __cdecl muscle::AddPyObjectToMessage(class muscle::String const &,struct _object *,class muscle::Message &)" (?AddPyObjectToMessage@muscle@@YAJABVString@1@PAU_object@@AAVMessage@1@@Z) PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol _PyComplex_Type referenced in function "long __cdecl muscle::AddPyObjectToMessage(class muscle::String const &,struct _object *,class muscle::Message &)" (?AddPyObjectToMessage@muscle@@YAJABVString@1@PAU_object@@AAVMessage@1@@Z) PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol _PyString_Type referenced in function "long __cdecl muscle::AddPyObjectToMessage(class muscle::String const &,struct _object *,class muscle::Message &)" (?AddPyObjectToMessage@muscle@@YAJABVString@1@PAU_object@@AAVMessage@1@@Z) PythonTemplateUtilityFunctions.obj : error LNK2001: unresolved external symbol _PyString_Type SysexSubcueEditor.obj : error LNK2001: unresolved external symbol _PyString_Type PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol _PyFloat_Type referenced in function "long __cdecl muscle::AddPyObjectToMessage(class muscle::String const &,struct _object *,class muscle::Message &)" (?AddPyObjectToMessage@muscle@@YAJABVString@1@PAU_object@@AAVMessage@1@@Z) PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol _PyLong_Type referenced in function "long __cdecl muscle::AddPyObjectToMessage(class muscle::String const &,struct _object *,class muscle::Message &)" (?AddPyObjectToMessage@muscle@@YAJABVString@1@PAU_object@@AAVMessage@1@@Z) PythonTemplateUtilityFunctions.obj : error LNK2001: unresolved external symbol _PyLong_Type PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol _PyInt_Type referenced in function "long __cdecl muscle::AddPyObjectToMessage(class muscle::String const &,struct _object *,class muscle::Message &)" (?AddPyObjectToMessage@muscle@@YAJABVString@1@PAU_object@@AAVMessage@1@@Z) PythonTemplateUtilityFunctions.obj : error LNK2001: unresolved external symbol _PyInt_Type PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol __Py_NoneStruct referenced in function "long __cdecl muscle::AddPyObjectToMessage(class muscle::String const &,struct _object *,class muscle::Message &)" (?AddPyObjectToMessage@muscle@@YAJABVString@1@PAU_object@@AAVMessage@1@@Z) PythonTemplateUtilityFunctions.obj : error LNK2001: unresolved external symbol __Py_NoneStruct SysexSubcueEditor.obj : error LNK2001: unresolved external symbol __Py_NoneStruct PythonUtilityFunctions.obj : error LNK2019: unresolved external symbol _PyExc_RuntimeError referenced in function "long __cdecl muscle::ParsePythonArgs(struct _object *,struct _object *,class muscle::Message &)" (?ParsePythonArgs@muscle@@YAJPAU_object@@0AAVMessage@1@@Z) PythonTemplateUtilityFunctions.obj : error LNK2001: unresolved external symbol _PyExc_RuntimeError SysexSubcueEditor.obj : error LNK2001: unresolved external symbol _PyExc_RuntimeError PythonTemplateUtilityFunctions.obj : error LNK2019: unresolved external symbol __Py_TrueStruct referenced in function "long __cdecl qnet::RegenerateSysexDataFromTemplate(class qnet::IPythonTemplateEditor const &,class qnet::SysexEntry &)" (?RegenerateSysexDataFromTemplate@qnet@@YAJABVIPythonTemplateEditor@1@AAVSysexEntry@1@@Z) release\CueStation.exe : fatal error LNK1120: 11 unresolved externals
participants (1)
-
Jeremy Friesner