LearningSmartClient.pro 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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/recorderwidget.cpp \
  51. widgets/statswidget.cpp \
  52. widgets/userprofilewidget.cpp \
  53. widgets/windowpreviewwidget.cpp
  54. HEADERS += \
  55. MainPanel.h \
  56. ScreenWall/screenwall_simple.h \
  57. ScreenWall/screenwall_widget.h \
  58. api/chatapi.h \
  59. api/loginapi.h \
  60. api/roomapi.h \
  61. api/userapi.h \
  62. appevent.h \
  63. mainwindow.h \
  64. network/networkaccessmanager.h \
  65. network/request.h \
  66. network/websocketclient.h \
  67. thardware/thardware.h \
  68. thememanager.h \
  69. themesettingswidget.h \
  70. tlogger.h \
  71. util/asynchelper.h \
  72. util/jsonmapper.h \
  73. util/layoutbuilder.h \
  74. util/qformatter.h \
  75. views/loginwindow.h \
  76. widgets/bubbletip.h \
  77. widgets/chatView/bubblemessagemanager.h \
  78. widgets/chatView/chat1/chatmessage.h \
  79. widgets/chatView/chat1/chatmessagedelegate.h \
  80. widgets/chatView/chat1/chatmessagemodel.h \
  81. widgets/chatView/chat1/chatview.h \
  82. widgets/chatView/chatwindow.h \
  83. widgets/chatView/independentchatwindow.h \
  84. widgets/colorlistwidget.h \
  85. widgets/createmeetingdialog.h \
  86. widgets/framelessbase.h \
  87. widgets/functionbutton.h \
  88. widgets/joinmeetingdialog.h \
  89. widgets/maskoverlay.h \
  90. widgets/meetingselectionwidget.h \
  91. widgets/recorderwidget.h \
  92. widgets/statswidget.h \
  93. widgets/userprofilewidget.h \
  94. widgets/windowpreviewwidget.h
  95. msvc {
  96. QMAKE_CFLAGS += /utf-8
  97. QMAKE_CXXFLAGS += /utf-8
  98. }
  99. DEFINES += _SILENCE_CLANG_COROUTINE_MESSAGE
  100. include($$PWD/libs/libs.pri)
  101. # FFmpeg library configuration
  102. win32 {
  103. INCLUDEPATH += "E:/AAA/ffmpeg-7.0.2-full_build-shared/include"
  104. LIBS += -L"E:/AAA/ffmpeg-7.0.2-full_build-shared/lib"
  105. # 使用动态库的导入库(适用于MSVC)
  106. LIBS += -lavdevice
  107. LIBS += -lavfilter
  108. LIBS += -lavformat
  109. LIBS += -lavcodec
  110. LIBS += -lswresample
  111. LIBS += -lswscale
  112. LIBS += -lavutil
  113. LIBS += -lpostproc
  114. # 添加FFmpeg依赖的系统库
  115. LIBS += -lbcrypt
  116. LIBS += -lsecur32
  117. LIBS += -luser32
  118. LIBS += -lole32
  119. }
  120. win32: LIBS += -lOpenGL32
  121. LIBS += -lwinmm
  122. # For DirectX (D3D11CreateDevice)
  123. LIBS += -ld3d11
  124. # For Windows API functions (IsWindowVisible, IsIconic)
  125. LIBS += -luser32
  126. LIBS += -ldwmapi # For DwmGetWindowAttribute
  127. LIBS += -lgdi32 # For GDI functions (BitBlt, CreateCompatibleBitmap, etc.)
  128. LIBS += -lole32 # For COM/WinRT functions
  129. LIBS += -loleaut32 # For SysAllocString, SysFreeString, etc.
  130. LIBS += -lwindowsapp # For CreateDispatcherQueueController
  131. DESTDIR = $$PWD/bin
  132. CONFIG(debug, debug|release) {
  133. DESTDIR = $$PWD/bin_debug
  134. TARGET = $$join(TARGET,,,d)
  135. }
  136. # Copy FFmpeg DLLs to output directory
  137. win32 {
  138. FFMPEG_DLLS = $$files(E:/AAA/ffmpeg-7.0.2-full_build-shared/bin/*.dll)
  139. for(dll, FFMPEG_DLLS) {
  140. QMAKE_POST_LINK += $$QMAKE_COPY $$shell_path($$dll) $$shell_path($$DESTDIR) $$escape_expand(\n\t)
  141. }
  142. }
  143. # Default rules for deployment.
  144. qnx: target.path = /tmp/$${TARGET}/bin
  145. else: unix:!android: target.path = /opt/$${TARGET}/bin
  146. !isEmpty(target.path): INSTALLS += target
  147. RESOURCES += \
  148. resources/shared.qrc