Qt4, Qt5에서 동시에 실행할 수 있는 코드 작성

1959 단어 Qt

약술


우리가 쓴 코드는Qt4.에서X버전에서 실행되고 Qt5.X버전에서 실행하려면 어떻게 해야 합니까?
  • 약술
  • Qt4X와 Qt5X의 차이
  • 방법
  • 해결 파일의 경로가 다르다
  • 컴파일할 때 링크의lib가 다르다는 것을 해결
  • 실행 시 불러오는 dll의 차이를 해결

  • Qt4.X 및 Qt5.X의 차이

  • 파일의 경로가 다름
  • 컴파일할 때 링크가 필요한lib가 다르다
  • 실행 시 불러올 dll이 다르다
  • 메서드


    파일 포함 경로가 다른 경우 해결


    Qt5.X의 QtWidgets는 Qt4.X에서 QtGui로 교체해야 하는 경우
    #if QT_VERSION>=0x050000
    #include 
    #else
    #include 
    #endif

    컴파일할 때 링크의lib가 다르다는 것을 해결합니다


    헤더 파일만 정확하게 포함하면 시스템은lib를 자동으로 연결합니다. 걱정하지 마십시오.

    실행 중 불러오는 dll의 차이를 해결합니다


    exe와 같은 디렉터리에 두 개의 폴더를 만들 수 있습니다. Qt4Dll과 Qt5Dll은 각각 Qt4와 Qt5 버전의 dll를 저장하고 다음 코드로 설정할 수 있습니다.
    #if QT_VERSION>=0x050000
        SetDllDirectory(_T("./Qt4Dll"));
    #else 
        SetDllDirectory(_T("./Qt5Dll"));
    #endif
    

    또는 사용
    #if QT_VERSION>=0x050000
        LoadLibrary(_T("./Qt4Dll/*.dll"));
    #else 
        LoadLibrary(_T("./Qt5Dll/*.dll"));
    #endif
    

    좋은 웹페이지 즐겨찾기