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


相关文章
|
1月前
|
JSON 程序员 数据格式
深入探索 “JSON for Modern C++“:安装、构建与应用
深入探索 “JSON for Modern C++“:安装、构建与应用
40 0
|
1月前
|
开发工具 C语言 C++
CMake构建大型C/C++项目:跨平台设计与高级应用(二)
CMake构建大型C/C++项目:跨平台设计与高级应用
42 0
|
1月前
|
存储 C++ 开发者
C++程序设计基础:构建稳固的编程基石
C++程序设计基础:构建稳固的编程基石
23 1
|
3月前
|
存储 机器学习/深度学习 算法
使用 OpenCV4 和 C++ 构建计算机视觉项目:1~5
使用 OpenCV4 和 C++ 构建计算机视觉项目:1~5
71 0
|
5月前
|
存储 缓存 安全
高并发内存池实战:用C++构建高性能服务器(下)
高并发内存池实战:用C++构建高性能服务器
高并发内存池实战:用C++构建高性能服务器(下)
|
6月前
|
监控 API C++
利用C++构建PC端监控软件:实时屏幕录制
在今天的数字化世界中,监控软件变得越来越重要。无论是家庭用户需要监控他们的孩子,还是企业需要监控员工的电脑活动,实时屏幕录制是一种有效的方法。本文将向您介绍如何使用C++构建PC端监控软件,实现实时屏幕录制功能。此外,我们还将讨论如何自动提交监控到的数据到一个网站上。
288 0
|
7月前
|
C++ 容器
掌握C++定时器:构建自己的定时器的分步指南
本文是一份详细的、分步指南,旨在帮助读者掌握C++定时器的构建过程。通过本文,读者将了解到什么是定时器,以及为什么需要自己构建定时器而不仅仅使用标准库中的函数。文章将从基础开始,介绍了利用C++的基本语法和操作符创建一个简单的定时器的步骤。随后,文章逐渐深入,介绍了如何优化定时器的性能,包括减少延迟和提高精度。
187 0
|
12天前
|
数据采集 API 数据安全/隐私保护
畅游网络:构建C++网络爬虫的指南
本文介绍如何使用C++和cpprestsdk库构建高效网络爬虫,以抓取知乎热点信息。通过亿牛云爬虫代理服务解决IP限制问题,利用多线程提升数据采集速度。示例代码展示如何配置代理、发送HTTP请求及处理响应,实现多线程抓取。注意替换有效代理服务器参数,并处理异常。
畅游网络:构建C++网络爬虫的指南
|
1月前
|
算法 程序员 C语言
C++设计哲学:构建高效和灵活代码的艺术
C++设计哲学:构建高效和灵活代码的艺术
60 1
|
1月前
|
编译器 持续交付 项目管理
CMake构建大型C/C++项目:跨平台设计与高级应用(三)
CMake构建大型C/C++项目:跨平台设计与高级应用
42 0