Hi there, This is my first post over here and I hope someone can give me some guidance.
I'm trying to embed Python into a Visual C++ 2008 application and I'm getting linker problems. I've compiled a DLL of the Python source code using the pythoncode VC++ project in the PCbuild folder of the source download and this works 100% without any warnings etc. I've done this in Debug and Release mode without any problems. When I include python_install_path\include\Python.h in my application (with the linking setup correctly to the .lib and .dll files generated by myself) it builds fine. However as soon as I try to call any Python function (Py_Exit for example) I get linker errors as shown below: 1>application.obj : error LNK2031: unable to generate p/invoke for "extern "C" void __clrcall Py_Exit(int)" (?Py_Exit@@[EMAIL PROTECTED]); calling convention missing in metadata 1>frmPythonInterface.obj : error LNK2031: unable to generate p/invoke for "extern "C" void __clrcall Py_Exit(int)" (?Py_Exit@@[EMAIL PROTECTED]); calling convention missing in metadata I'm probably missing something but I can't find any calling convention details in Python.h or the other headers included in this file. In my VC++ DLL project I've specified the calling convention as __stdcall. I know the __clrcall naming convention has to do with managed code in VC+ + but thats as far as my knowledge on that goes. Should I define the calling conventions manually? Or is there a setting wrong somewhere in my application project? If anybody can give some guidance it would be greatly appreciated. Thanks Jaco -- http://mail.python.org/mailman/listinfo/python-list