C++ xmake构建

简介: C++ xmake构建

一、xmake.lua

--xmake.lua
set_project("XXX")
add_rules("mode.debug", "mode.release")
set_config("arch", "x64")
if is_plat("windows") then 
    -- the release mode
    if is_mode("release") then
        add_cxflags("-MD") 
    -- the debug mode
    elseif is_mode("debug") then
        add_cxflags("-MDd") 
    end
end
add_packagedirs("./thirdparty")
target("XXX")
    add_rules("qt.application")
    --头文件路径
    add_includedirs("./app")
    --ui文件
    add_files("./app/*.ui")
    -- metadata head files
    add_files("./app/*.h")
    -- qrc files
    add_files("./app/*.qrc")
    -- cpp files
    add_files("./app/*.cpp")
    add_ldflags("/MANIFEST", "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\"", {force = true})
    add_frameworks("QtCore", "QtGui", "QtWidgets", "QtSql", "QtMultimedia", "QtMultimediaWidgets","QtNetwork")

这是一个名为 “XXX” 的项目的 Lua 脚本。该脚本设置了项目名称,添加了用于在调试和发布模式下构建的规则,并将架构配置设置为 x64。

如果平台是 Windows,脚本会为发布模式设置 C++ 编译器标志为 “-MD”,为调试模式设置为 “-MDd”。

然后,脚本添加第三方库的软件包目录,并定义了一个名为 “XXX” 的目标。该目标使用 “qt.application” 规则,并包括多个头文件目录。它还添加了 UI 文件、元数据头文件和 qrc 文件。

最后,脚本添加 Qt 库。

二、xmake常用语句

xmake    编译
xmake f -c   清缓存
xmake clean  
xmake project -k vsxmake -m "debug,release"   生成vs工程

推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:

零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)

https://xxetb.xet.tech/s/VsFMs


相关文章
|
6月前
|
安全 网络协议 数据安全/隐私保护
掌握Qt和C++:构建你的第一个P2P应用程序
掌握Qt和C++:构建你的第一个P2P应用程序
245 3
|
6月前
|
编译器 C++ 开发者
【Conan 入门教程 】使用Conan 2.X和Autotools高效构建C/C++项目
【Conan 入门教程 】使用Conan 2.X和Autotools高效构建C/C++项目
340 1
|
6月前
|
存储 C++ 开发者
C++程序设计基础:构建稳固的编程基石
C++程序设计基础:构建稳固的编程基石
47 1
|
6月前
|
JSON 程序员 数据格式
深入探索 “JSON for Modern C++“:安装、构建与应用
深入探索 “JSON for Modern C++“:安装、构建与应用
155 0
|
6月前
|
开发工具 C语言 C++
CMake构建大型C/C++项目:跨平台设计与高级应用(二)
CMake构建大型C/C++项目:跨平台设计与高级应用
225 0
|
存储 缓存 安全
高并发内存池实战:用C++构建高性能服务器(下)
高并发内存池实战:用C++构建高性能服务器
高并发内存池实战:用C++构建高性能服务器(下)
|
6月前
|
存储 机器学习/深度学习 算法
使用 OpenCV4 和 C++ 构建计算机视觉项目:1~5
使用 OpenCV4 和 C++ 构建计算机视觉项目:1~5
184 0
|
6月前
|
IDE Java Linux
【CMake】CMake构建C++代码(一)
【CMake】CMake构建C++代码(一)
|
2月前
|
C++ Windows
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
|
2月前
|
C++
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具