Making python module using Borland C++ 5
Rami Saarinen
rs55862 at NOSPAMyahoo.com
Tue Apr 8 06:15:14 EDT 2003
I am trying to build a simple module for python (2.1.1) using the
Borland C++ Builder 5. I have managed to go as far as:
* used the coff2omf program to convert the python21.lib to omf format
(guess how log it took to get past this..)
* the module is a crude and simple glue (for testing purposes) between
python and a rule-engine (CLIPS) and looks like this:
[...]
PyMethodDef clipsMethods[] = {
{"run", pyclips_run, METH_VARARGS},
{"getMove", pyclips_getMove, METH_VARARGS},
{"reset", pyclips_reset, METH_VARARGS},
{NULL, NULL, NULL}
};
void _declspec(dllexport) initpyclips(void) {
(void) Py_InitModule("pyclips", clipsMethods);
InitializeEnvironment();
Load("th-ng.clp");
Reset();
}
(th-ng.clp is a rule-based version of tower-of-hanoi solver).
Everything goes fine (after I removed the _DEBUG flag) and the dll
builds without errors. However, when I actually try to run the python
code that uses the module I get the following error message:
File "py-tst.py", line 1, in ?
import pyclips
ImportError: dynamic module does not define init function (initpyclips)
Any ideas? Or am I totally lost and in error here?
I have been able to build and use the module in Linux without any
trouble at all. I also managed to make the module in Windows using VC++
(that required a bit of manual helping) and it worked fine. However, I
may be forced to get it done using Borland so ...
Well, I have been learning a lot about making static and dynamic
libraries on Windows (as well as using these graphical thingies), a
topic I had no idea about few weeks ago.. 8)
Thanks in advance.
--
Rami Saarinen
Please do remove the obvious bit from the email
if you wish to reply to me personally.
More information about the Python-list
mailing list