-- AvRecorder 模块配置 -- 此文件被主项目通过 includes("AvRecorder") 引入 -- 包含子模块 includes("capturer") -- AvRecorder 主库 target("avrecorder_lib") -- Qt 配置 add_rules("qt.static") if is_plat("windows") then add_defines("UNICODE", "_UNICODE") end -- Qt MOC 处理 add_files("ui/*.h") add_files("capturer/audio/*.h") add_files("*.h") -- 根目录源文件 add_files("*.cpp") add_headerfiles("*.h") -- 基础模块源文件 add_files("basic/*.cpp") add_headerfiles("basic/*.h") -- D3D 模块源文件 add_files("d3d/*.cpp") add_headerfiles("d3d/*.h") -- 编码器模块源文件 add_files("encoder/*.cpp") add_headerfiles("encoder/*.h") -- 混流器模块源文件 add_files("muxer/*.cpp") add_headerfiles("muxer/*.h") -- 录制器模块源文件 add_files("recorder/*.cpp") add_headerfiles("recorder/*.h") -- UI 模块源文件 add_files("ui/*.cpp") add_headerfiles("ui/*.h") -- 包含目录 add_includedirs(".", { public = true }) add_includedirs("basic", { public = true }) add_includedirs("d3d", { public = true }) add_includedirs("encoder", { public = true }) add_includedirs("muxer", { public = true }) add_includedirs("recorder", { public = true }) add_includedirs("ui", { public = true }) -- 依赖的子模块 add_deps("capturer_lib", { public = true }) -- add_deps("av_framework") -- 暂时不使用AV模块 -- FFmpeg 配置 add_ffmpeg_config() -- Windows 特定链接库 if is_plat("windows") then add_syslinks("d3d11", "dxgi", "user32", "gdi32") add_syslinks("winmm", "ole32", "oleaut32") end add_frameworks("QtCore", "QtGui", "QtWidgets", "QtNetwork", "QtMultimedia") target_end() -- AvRecorder 主程序(如果需要独立运行) target("AvRecorder") add_rules("qt.widgetapp") set_kind("binary") if is_plat("windows") then add_defines("UNICODE", "_UNICODE") end -- 设置输出目录 set_targetdir("$(projectdir)/bin") if is_mode("debug") then set_targetdir("$(projectdir)/bin_debug") set_basename("AvRecorderd") end -- 主程序源文件 add_files("main.cpp") -- 依赖库 add_deps("avrecorder_lib") -- add_deps("av_framework") -- 暂时不使用AV模块 -- Qt 配置 add_qt_config() -- FFmpeg 配置 add_ffmpeg_config() -- Windows 特定链接库 if is_plat("windows") then add_syslinks("shell32", "user32", "gdi32", "ole32", "oleaut32") add_syslinks("winmm", "d3d11", "dwmapi", "windowsapp") add_syslinks("OpenGL32") end add_frameworks("QtCore", "QtGui", "QtWidgets", "QtNetwork", "QtMultimedia") target_end()