2008/06/24

32bit 프로젝트 64bit로 전환하기

32bit로 작성된 프로젝트를 64bit 전환할 일이 있어서 작업 내용을 기록해 두는 차원에서 기록을 해 두기로 했다.

64bit로 전환함에 있어 바꿔줘야 할 일이 많겠지만 진행하면서 또는 다른 프로젝트를 변환하면서 작업하면서 발생한 일들이 있을때 마다 기록을 하려 한다.

그래서 블로그 보다는 SpringNote를 활용하는 것이 보다 효과적이라 생각되어서 Spring Note 에 작업을 시작했다. 아래 내용은 처음 작성한 내용이다.

최신 내용을 확인하려면 SpingNote 를 확인하기 바랍니다.


  • 구성 라이브러리가 모두 64비트로 구성되어야 함.





  • 포인터를 의미하는 UINT 단위를 UINT_PTR 로 전환

    OnTimer(UINT nIDEvent) => OnTimer(UINT_PTR nIDEvent)

    CWndHitTest 의 반환값을 int 에서 LRESULT 로 전환





  • Linker 옵션의 /MACHINE:I386 을 MachineX64 (/MACHINE:X64) 로 전환





  • OpenCV 를 64비트로 컴파일 하기 위해 전처리기 정의 부분에 WIN64 선언




  • 새로운 윈도우 클래스 함수 및 정의를 사용해야 함.

        GetClassLong       GetClassLongPtr

       GetWindowLong      GetWindowLongPtr

       SetClassLong       SetClassLongPtr

       SetWindowLong      SetWindowLongPtr

       GWL_WNDPROC        GWLP_WNDPROC

       GWL_HINSTANCE      GWLP_HINSTANCE

       GWL_HWNDPARENT     GWLP_HWNDPARENT

       GWL_USERDATA       GWLP_USERDATA

       GWL_ID             GWLP_ID


        GCL_MENUNAME       GCLP_MENUNAME    

       GCL_HBRBACKGROUND  GCLP_HBRBACKGROUND

       GCL_HCURSOR        GCLP_HCURSOR    

       GCL_HICON          GCLP_HICON      

       GCL_HMODULE        GCLP_HMODULE    

       GCL_WNDPROC        GCLP_WNDPROC    

       GCL_HICONSM        GCLP_HICONSM  
     


이 글은 스프링노트에서 작성되었습

Original Post : http://neodreamer-dev.tistory.com/112

No comments :

Post a Comment