Jaco Naude wrote:

good point. I agree that the problem is probably due to name mangling.
I'm not sure how its possible to tell the application that the DLL is
a C dll? I've looked at the DLL using Dependency Walker and the
functions in the DLL are clean (Thus no name mangling used).
>
How do I tell Visual C++ that the DLL is a C dll? I thought it should
be in Python.h but this line appears at the top of the file:

/* Since this is a "meta-include" file, no #ifdef __cplusplus / extern
"C" { */

All the individual includes are wrapped in the usual

    #ifdef __cplusplus
    extern "C" {
    #endif

stuff, so the compiler should default to C bindings, without you having to do anything. Unfortunately, I haven't used VS 2008, but I find it hard to believe that they've messed this up completely, and a quick googling indicates that people are using it with Python without trouble.

Maybe there's some override in your project settings caused by some other parts of your project? (or an #undef __cplusplus somewhere, perhaps?)

</F>

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to