LearningSmartClient.pro 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. QT += core gui network svg xml
  2. QT += multimedia websockets
  3. QT += winextras
  4. greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
  5. CONFIG += console
  6. CONFIG += c++17
  7. LIBS += -lshell32
  8. QT += opengl
  9. QT += concurrent
  10. # You can make your code fail to compile if it uses deprecated APIs.
  11. # In order to do so, uncomment the following line.
  12. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
  13. SOURCES += \
  14. MainPanel.cpp \
  15. ScreenWall/main_simple.cpp \
  16. ScreenWall/screenwall_simple.cpp \
  17. ScreenWall/screenwall_widget.cpp \
  18. api/chatapi.cpp \
  19. api/loginapi.cpp \
  20. api/roomapi.cpp \
  21. api/userapi.cpp \
  22. appevent.cpp \
  23. main.cpp \
  24. mainwindow.cpp \
  25. network/networkaccessmanager.cpp \
  26. network/request.cpp \
  27. network/websocketclient.cpp \
  28. thardware/thardware.cpp \
  29. thememanager.cpp \
  30. themesettingswidget.cpp \
  31. tlogger.cpp \
  32. util/asynchelper.cpp \
  33. util/layoutbuilder.cpp \
  34. util/qformatter.cpp \
  35. views/loginwindow.cpp \
  36. widgets/bubbletip.cpp \
  37. widgets/chatView/bubblemessagemanager.cpp \
  38. widgets/chatView/chat1/chatmessagedelegate.cpp \
  39. widgets/chatView/chat1/chatmessagemodel.cpp \
  40. widgets/chatView/chat1/chatview.cpp \
  41. widgets/chatView/chatwindow.cpp \
  42. widgets/chatView/independentchatwindow.cpp \
  43. widgets/colorlistwidget.cpp \
  44. widgets/createmeetingdialog.cpp \
  45. widgets/framelessbase.cpp \
  46. widgets/functionbutton.cpp \
  47. widgets/joinmeetingdialog.cpp \
  48. widgets/maskoverlay.cpp \
  49. widgets/meetingselectionwidget.cpp \
  50. widgets/statswidget.cpp \
  51. widgets/userprofilewidget.cpp \
  52. widgets/windowpreviewwidget.cpp
  53. HEADERS += \
  54. MainPanel.h \
  55. ScreenWall/screenwall_simple.h \
  56. ScreenWall/screenwall_widget.h \
  57. api/chatapi.h \
  58. api/loginapi.h \
  59. api/roomapi.h \
  60. api/userapi.h \
  61. appevent.h \
  62. mainwindow.h \
  63. network/networkaccessmanager.h \
  64. network/request.h \
  65. network/websocketclient.h \
  66. thardware/thardware.h \
  67. thememanager.h \
  68. themesettingswidget.h \
  69. tlogger.h \
  70. util/asynchelper.h \
  71. util/jsonmapper.h \
  72. util/layoutbuilder.h \
  73. util/qformatter.h \
  74. views/loginwindow.h \
  75. widgets/bubbletip.h \
  76. widgets/chatView/bubblemessagemanager.h \
  77. widgets/chatView/chat1/chatmessage.h \
  78. widgets/chatView/chat1/chatmessagedelegate.h \
  79. widgets/chatView/chat1/chatmessagemodel.h \
  80. widgets/chatView/chat1/chatview.h \
  81. widgets/chatView/chatwindow.h \
  82. widgets/chatView/independentchatwindow.h \
  83. widgets/colorlistwidget.h \
  84. widgets/createmeetingdialog.h \
  85. widgets/framelessbase.h \
  86. widgets/functionbutton.h \
  87. widgets/joinmeetingdialog.h \
  88. widgets/maskoverlay.h \
  89. widgets/meetingselectionwidget.h \
  90. widgets/statswidget.h \
  91. widgets/userprofilewidget.h \
  92. widgets/windowpreviewwidget.h
  93. msvc {
  94. QMAKE_CFLAGS += /utf-8
  95. QMAKE_CXXFLAGS += /utf-8
  96. }
  97. DEFINES += _SILENCE_CLANG_COROUTINE_MESSAGE
  98. include($$PWD/libs/libs.pri)
  99. # FFmpeg library configuration
  100. win32 {
  101. INCLUDEPATH += "E:/AAA/ffmpeg-7.0.2-full_build-shared/include"
  102. LIBS += -L"E:/AAA/ffmpeg-7.0.2-full_build-shared/lib"
  103. # 使用动态库的导入库(适用于MSVC)
  104. LIBS += -lavdevice
  105. LIBS += -lavfilter
  106. LIBS += -lavformat
  107. LIBS += -lavcodec
  108. LIBS += -lswresample
  109. LIBS += -lswscale
  110. LIBS += -lavutil
  111. LIBS += -lpostproc
  112. # 添加FFmpeg依赖的系统库
  113. LIBS += -lbcrypt
  114. LIBS += -lsecur32
  115. LIBS += -luser32
  116. LIBS += -lole32
  117. }
  118. win32: LIBS += -lOpenGL32
  119. LIBS += -lwinmm
  120. # For DirectX (D3D11CreateDevice)
  121. LIBS += -ld3d11
  122. # For Windows API functions (IsWindowVisible, IsIconic)
  123. LIBS += -luser32
  124. LIBS += -ldwmapi # For DwmGetWindowAttribute
  125. LIBS += -lgdi32 # For GDI functions (BitBlt, CreateCompatibleBitmap, etc.)
  126. LIBS += -lole32 # For COM/WinRT functions
  127. LIBS += -loleaut32 # For SysAllocString, SysFreeString, etc.
  128. LIBS += -lwindowsapp # For CreateDispatcherQueueController
  129. DESTDIR = $$PWD/bin
  130. CONFIG(debug, debug|release) {
  131. DESTDIR = $$PWD/bin_debug
  132. TARGET = $$join(TARGET,,,d)
  133. }
  134. # Copy FFmpeg DLLs to output directory
  135. win32 {
  136. FFMPEG_DLLS = $$files(E:/AAA/ffmpeg-7.0.2-full_build-shared/bin/*.dll)
  137. for(dll, FFMPEG_DLLS) {
  138. QMAKE_POST_LINK += $$QMAKE_COPY $$shell_path($$dll) $$shell_path($$DESTDIR) $$escape_expand(\n\t)
  139. }
  140. }
  141. # Default rules for deployment.
  142. qnx: target.path = /tmp/$${TARGET}/bin
  143. else: unix:!android: target.path = /opt/$${TARGET}/bin
  144. !isEmpty(target.path): INSTALLS += target
  145. RESOURCES += \
  146. resources/shared.qrc