리눅스에서 실행하고 싶은 Qt 애플리케이션이 있지만 Windows에서만 사용할 수있는 API를 사용합니다. API를 사용하는 2 ~ 3 개의 클래스가있을 수 있으며 나머지 프로그램과 긴밀하게 연결하지 않으려 고 시도했습니다. 분명히 많은 곳에서 #ifdef win32
을 사용할 수 있지만 .pro 파일 내에서 더 많은 Qt 방식을 사용해야한다고 생각합니다.플랫폼 기반의 Qt에서 특정 파일을 제외하는 방법
qmake가 시스템을 감지하고 API가 win32이면 이상적입니다. 그런 다음 찾을 수 없거나 다른 플랫폼에있는 경우 라이브러리 및 API의 헤더가 포함 된 모든 클래스를 제외하십시오. 다음 win32owc
private:
Win32OnlyWrapperClass* win32owc;
과 :
MainWindow.h에서 또한SOURCES += main.cpp \
mainwindow.cpp \
win32apiwrapperclass.cpp \
...
LIBS += "a/path/to/win32/only/lib -lwin32only
INCLUDEPATH += "a/path/to/win32/only/includes"
DEPENDPATH += "a/path/to/win32/only/includes"
내가 좋아하는 뭔가를
In.pro 파일 내가 지금 가지고 : 여기
무슨 뜻인지의 예 cpp 파일에서 몇 번 사용됩니다. 그래서 나는 다른 플랫폼에서도이 모든 것들을 배제하고 싶습니다. 그것이 의미가 있기를 바랍니다.감사합니다.