当前位置: 首页 > wzjs >正文

商城网站模板免费下载静态网站制作wordpress模版

商城网站模板免费下载,静态网站制作wordpress模版,手机网站怎么设置成电脑版的,wordpress给图片加特效🦄个人主页:修修修也 🎏所属专栏:Linux ⚙️操作环境:Xshell (操作系统:Ubuntu 22.04 server 64bit) 目录 快速上手Makefile 基本结构 变量 自动变量 常用目标 快速上手CMake CMake与Makefile的关系 CMake的使用步骤 常用命令 (1) 基本配置 (2) 变量与选…

🦄个人主页:修修修也

🎏所属专栏:Linux

⚙️操作环境:Xshell (操作系统:Ubuntu 22.04 server 64bit)


目录

快速上手Makefile

基本结构

变量

自动变量

常用目标

快速上手CMake

CMake与Makefile的关系

CMake的使用步骤

常用命令

(1) 基本配置

(2) 变量与选项

(3) 查找依赖

高级功能

(1) 多目录项目

(2) 安装与打包

(3) 测试支持

常用工具

结语


快速上手Makefile

        Makefile 是一种用于自动化编译和构建程序的工具,尤其在 C/C++ 项目中广泛使用。它通过定义规则(rules)来指定如何从源代码生成目标文件可执行文件


基本结构

        Makefile的核心格式为:

目标(target):依赖(dependencies)命令(command)
  • 目标(target): 通常是生成的文件名(如main.o或main)。
  • 依赖(dependencies): 生成目标所需的文件(如main.c或main.o文件)。
  • 命令(command): 生成目标的Shell命令(以Tab开头)。

        在目录中创建makefile文件,示例如下:

hello:hello.cgcc hello.c -o hello

        此时我们目录中有.c文件hello.c:

        此时我们可以直接输入make命令,使.c文件自动编译,效果如下:

        如果有还不太了解gcc/g++编译器编译命令的可以先移步:【Linux】手把手教你从零上手gcc/g++编译器


变量

        变量可以简化重复内容(如编译器, 编译选项), 如:

CC = gcc
CFLAGS = -Wallhello:hello.c$(CC) $(CFLAGS) hello.c -o hello

        运行展示如下:


自动变量

  • $@当前目标名(如 app)。

  • $^所有依赖(如 main.c utils.c)。

  • $<第一个依赖(如 main.c)。

        示例如下:

hello:hello.cgcc $^ -o $@

        运行结果如下:


常用目标

  • all: 默认目标,通常编译所有内容
  • clean: 清理生成的文件
  • .PHONY: 声明伪目标(不生成文件)

        假设现在有两个程序一个服务器程序一个客户端程序需要一起编译生成并需要及时清理,那么makefile文件的编写参考:

.PHONY:all
all:server clientserver:Server.ccg++ -o $@ $^ -std=c++11
client:Client.ccg++ -o $@ $^ -lpthread -std=c++11.PHONY:clean
clean:rm -f server client

        更多Makefile相关内容可以查阅官方手册:GNU Make 官方文档


快速上手CMake

        CMake 是一个跨平台的自动化构建工具,用于管理代码的编译、链接和安装流程。它通过生成标准的构建文件(如 Makefile、Visual Studio 项目、Ninja 文件等),简化了跨平台项目的构建过程。

CMake与Makefile的关系

  • Makefile:需要手动编写规则,直接调用编译器。

  • CMake:通过高级的配置文件 CMakeLists.txt 生成 Makefile(或其他构建系统文件),无需手动处理底层编译细节。

  • 优势

    • 跨平台(Windows、Linux、macOS 等)。

    • 支持复杂的项目结构(多目录、多库)。

    • 自动管理依赖关系(如头文件、第三方库)。

CMake的使用步骤

1.编写CMakeLists.txt文件

        每个项目目录都需要一个 CMakeLists.txt,定义构建规则。

        示例如下:

cmake_minimum_required(VERSION 3.15)  //最低CMake版本(不能比当前机器CMake版本高)
project(test)                         //项目名称
add_executable(hello hello.c)         //生成可执行文件(参数是其依赖关系)

2.执行cmake命令生成makefile文件:

3.执行make命令生成可执行程序:

        可以看到,我们直接执行cmake命令会生成大量的与程序本身无关的杂乱文件,这会干扰我们操作,所以我们可以通过以下步骤生成一下构建系统避免污染源代码:

1.创建构建目录(推荐 build 目录,避免污染源码):

mkdir build && cd build

2.运行cmake生成构建文件:

camke .. // 根据上级目录的 CMakeLists.txt 生成 Makefile

3.调用构建工具(如make或ninja)编译:

make #执行生成的Makefile

        运行效果如下:


常用命令

(1) 基本配置
  • project(<PROJECT_NAME>): 定义项目名称和支持的语言(如 CXX 表示 C++)。

  • add_executable(<target> <source_files>): 生成可执行文件。

  • add_library(<target> <source_files>): 生成静态库(.a/.lib)或动态库(.so/.dll)。

  • target_link_libraries(<target> <libraries>): 链接库到目标(可执行文件或库)。

(2) 变量与选项
  • 定义变量:

    set(SRC_FILES main.cpp utils.cpp)
    add_executable(my_app ${SRC_FILES})
  • 条件判断:

    if(WIN32)# Windows 平台特定配置
    endif()
(3) 查找依赖
  • 查找系统已安装的库:

    find_package(OpenCV REQUIRED)
    target_link_libraries(my_app ${OpenCV_LIBS})
  • 自定义库路径:

    set(OPENCV_DIR "/path/to/opencv")
    find_package(OpenCV REQUIRED PATHS ${OPENCV_DIR})

高级功能

(1) 多目录项目
  • 主目录的 CMakeLists.txt

    add_subdirectory(src)    # 进入子目录 src
    add_subdirectory(libs)   # 进入子目录 libs
  • 子目录的 CMakeLists.txt 定义各自的构建规则。

(2) 安装与打包
  • 定义安装规则:

    install(TARGETS my_app DESTINATION bin)  # 安装可执行文件到 bin 目录
    install(FILES include/utils.h DESTINATION include) # 安装头文件
  • 生成安装包:

    include(InstallRequiredSystemLibraries)
    set(CPACK_PACKAGE_NAME "MyApp")
    include(CPack)
(3) 测试支持
  • 启用测试:

    enable_testing()
    add_test(NAME my_test COMMAND my_app --test)

常用工具

  • ccmake:命令行交互界面,调整 CMake 变量。

  • cmake-gui:图形化界面,配置项目选项。

  • CTest:运行测试套件。

  • CPack:生成安装包(如 .deb.zip)。


结语

希望这篇关于 快速上手Makefile & CMake 的博客能对大家有所帮助,欢迎大佬们留言或私信与我交流.

学海漫浩浩,我亦苦作舟!关注我,大家一起学习,一起进步!

相关文章推荐

【Linux】手把手教你从零上手Vim编辑器

【Linux】手把手教你从零上手gcc/g++编译器

【Linux】实现一个简易的shell命令行

【Linux】基本指令(下)

【Linux】基本指令(中)

【Linux】基本指令(上)



文章转载自:

http://AvOD2rku.rnygs.cn
http://ITgU0haG.rnygs.cn
http://XvVro3Sy.rnygs.cn
http://b1IDYU5d.rnygs.cn
http://bgoaDaOP.rnygs.cn
http://cUla0btD.rnygs.cn
http://42XFXA9A.rnygs.cn
http://mRg97CW9.rnygs.cn
http://NohkOYdb.rnygs.cn
http://0n4cwfG1.rnygs.cn
http://YUd75aeO.rnygs.cn
http://KNUbwC5s.rnygs.cn
http://o1iEjdbZ.rnygs.cn
http://xjmMdeIV.rnygs.cn
http://DHsX1fJq.rnygs.cn
http://D8DfFyDJ.rnygs.cn
http://hintAOOR.rnygs.cn
http://4kLYkmBO.rnygs.cn
http://2yizjIyy.rnygs.cn
http://Pd4dAo44.rnygs.cn
http://T2qXdIlw.rnygs.cn
http://l6ZVbIhN.rnygs.cn
http://TB0fzjOG.rnygs.cn
http://hGzoKFmK.rnygs.cn
http://JgefBVsB.rnygs.cn
http://QlmWhj8N.rnygs.cn
http://zUedm2oM.rnygs.cn
http://OsjOy60j.rnygs.cn
http://CDeGZvKX.rnygs.cn
http://6vIXzCm2.rnygs.cn
http://www.dtcms.com/wzjs/724958.html

相关文章:

  • html网站建设代码vps网站建站助手
  • 进入城乡建设网站怎么竣工备案望野千枝叶
  • 网站设计教学广告投放软件
  • 南昌品牌网站建设个人怎样建设网站
  • 成品短视频网站源码搭建柳市网站托管
  • 阜阳市城乡建设网站wordpress html主页
  • 免费网站入口在哪可以做网站的网络
  • 建网站安全发生太多重定位wordpress
  • 鞍山网站页设计制作定制网站需要多少钱
  • 网站建设 业务走下坡门户网站维护怎么做
  • 提供常州网站推广网站推广方案怎么写的
  • 海纳网站建设优化好的网站
  • 泗洪网站建设公司网站布局结构有哪些
  • 怎么做网站备案域名网站有哪些
  • 常州网站推广软件厂家动画制作软件免费
  • 做网站的问卷调查广州网站排名推广公司
  • 两学一做知识问答网站施工企业会计制度2022
  • 建设银行网站首页打不开天津网站建设托管
  • 免费安全网站认证wordpress 自己做云盘
  • 优秀定制网站建设案例wordpress注册邮件服务器
  • 济南建网站代理好项目
  • wengdo网站开发创意设计网页版面布局设计步骤
  • 自己买个服务器做网站深圳网站建设799元起全包域名
  • 网站建设与运营的课程总结专业舆情公关公司
  • diy网站建设源码购物网站功能模块设计
  • 建设摩托车公司官方网站网站被百度k
  • 登录域名管理网站南宁企业建站系统模板
  • 做网站自己装服务器wordpress 企业网站制作
  • 如果一个网站的域名是wordpress建立商业网站
  • 与通信工程专业做项目的网站wordpress4.9主题