Hello, World!))) I'm try to generate pyd file, which simple should create one window, and it's necessary to use windiws api functions. I just take example from msdn:
#include <windows.h> // Global variable HINSTANCE hinst; // Function prototypes. //int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int); BOOL InitApplication(HINSTANCE); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM); // Application entry point. int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; if (!InitApplication(hinstance)) return FALSE; if (!InitInstance(hinstance, nCmdShow)) return FALSE; BOOL fGotMessage; while ((fGotMessage = GetMessage(&msg, (HWND) NULL, 0, 0)) != 0 && fGotMessage != -1) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; UNREFERENCED_PARAMETER(lpCmdLine); } BOOL InitApplication(HINSTANCE hinstance) { WNDCLASSEX wcx; // Fill in the window class structure with parameters // that describe the main window. wcx.cbSize = sizeof(wcx); // size of structure wcx.style = CS_HREDRAW | CS_VREDRAW; // redraw if size changes wcx.lpfnWndProc = MainWndProc; // points to window procedure wcx.cbClsExtra = 0; // no extra class memory wcx.cbWndExtra = 0; // no extra window memory wcx.hInstance = hinstance; // handle to instance wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION); // predefined app. icon wcx.hCursor = LoadCursor(NULL, IDC_ARROW); // predefined arrow wcx.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH); // white background brush wcx.lpszMenuName = "MainMenu"; // name of menu resource wcx.lpszClassName = "MainWClass"; // name of window class wcx.hIconSm = (HICON)LoadImage(hinstance, // small class icon MAKEINTRESOURCE(5), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_DEFAULTCOLOR); // Register the window class. return RegisterClassEx(&wcx); } BOOL InitInstance(HINSTANCE hinstance, int nCmdShow) { HWND hwnd; // Save the application-instance handle. hinst = hinstance; // Create the main window. hwnd = CreateWindow( "MainWClass", // name of window class "Sample", // title-bar string WS_OVERLAPPEDWINDOW, // top-level window CW_USEDEFAULT, // default horizontal position CW_USEDEFAULT, // default vertical position CW_USEDEFAULT, // default width CW_USEDEFAULT, // default height (HWND) NULL, // no owner window (HMENU) NULL, // use class menu hinstance, // handle to application instance (LPVOID) NULL); // no window-creation data if (!hwnd) return FALSE; // Show the window and send a WM_PAINT message to the window // procedure. ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); return TRUE; } LRESULT CALLBACK MainWndProc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch(msg) { case WM_PAINT: ValidateRgn(hwnd, NULL); break; case WM_DESTROY: { PostQuitMessage(0); return(0); } break; } return(DefWindowProc(hwnd, msg, wparam, lparam)); } and in compile process I get this errors: c:/boost_1_40_0/boost/python/make_function.hpp: In function `boost::python::api: :object boost::python::make_function(F) [with F = int (*)(HINSTANCE__*, HINSTANCE__*, CHAR*, int)]': c:/boost_1_40_0/boost/python/def.hpp:82: instantiated from `boost::python::api ::object boost::python::detail::make_function1(T, ...) [with T = int (*)(HINSTANCE__*, HINSTANCE__*, CHAR*, int)]' c:/boost_1_40_0/boost/python/def.hpp:91: instantiated from `void boost::python ::def(const char*, Fn) [with Fn = int (*)(HINSTANCE__*, HINSTANCE__*, CHAR*, int)]' windowmsdn.cpp:141: instantiated from here c:/boost_1_40_0/boost/python/make_function.hpp:103: error: invalid conversion from `int (*)(HINSTANCE__*, HINSTANCE__*, CHAR*, int)' to `int (*)(HINSTANCE__*, HINSTANCE__*, CHAR*, int)' c:/boost_1_40_0/boost/python/make_function.hpp:103: error: initializing argument 1 of `boost::mpl::vector5<T0, T1, T2, T3, T4> boost::python::detail::get_signature(RT (*)(T0, T1, T2, T3), void*) [with RT = int, T0 = HINSTANCE__*, T1 = HINSTANCE__*, T2 = CHAR*, T3 = int]' I will be very grateful for any help. email: blackmet.darkan...@gmail.com
_______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig