This time I have a real bug, read on..
I've created a separate VS project for my clienthandler.cpp so that it now creates 2 different libs - one for Python 2.7 and the other for Python 3.2, and I've come into the same problem I've reported earlier for the beta 3 release:
d:\cefpython\src\setup/cefpython.h(15) : error C3646: 'RequestHandler_OnBeforeBrowse' : unknown override specifier
d:\cefpython\src\setup/cefpython.h(15) : error C2091: function returns function
d:\cefpython\src\setup/cefpython.h(15) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
These errors happen when you include "modulename.h" - the file that is generated by Cython, for functions that have "public" declaration.
Functions in this file are declared this way:
__PYX_EXTERN_C DL_IMPORT(bool) RequestHandler_OnBeforeBrowse(CefRefPtr<CefBrowser>, CefRefPtr<CefFrame>, CefRefPtr<CefRequest>, enum cef_handler_navtype_t, bool);
These errors about "unknown override specifier" are happening because:
DL_IMPORT is not defined in Python 3.2 sources.
In Python 2.7 in Python.h you have:
#ifndef DL_IMPORT /* declarations for DLL import/export */
#define DL_IMPORT(RTYPE) RTYPE
#endif
#ifndef DL_EXPORT /* declarations for DLL import/export */
#define DL_EXPORT(RTYPE) RTYPE
#endif
But in Python 3.2 there are no such defines.
The solution would be to add the definitions above to the "modulename.h".
Cheers,
Czarek