LearningSmartClient.pro 4.7 KB

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