简单的小型C++项目怎么用CMAKE进行管理

这篇具有很好参考价值的文章主要介绍了简单的小型C++项目怎么用CMAKE进行管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目目录:

简单的小型C++项目怎么用CMAKE进行管理
简单的小型C++项目怎么用CMAKE进行管理
根目录下共有两个文件夹,分别为include、src,有两个文件,分别为CMakeLists.txt和main.cpp

main函数

简单的小型C++项目怎么用CMAKE进行管理
可以看出,include了func.h,且func.h的声明在include文件夹下,定义在src文件夹下的func.cpp中

src文件夹下的CMakeLists.txt

简单的小型C++项目怎么用CMAKE进行管理
add_library表示创建了一个静态库,名字是func,用的是func.cpp这个文件
target_include_directories表示让../include文件夹成为func库的头文件的默认搜索的文件夹,且PUBLIC表示让这个目录添加到func目标的接口中,这样任何使用func目标的其他目标都可以访问这个目录,这对于构建复杂的项目时非常有用。

具体到这个例子来说,就是在根目录下的CMakeLists.txt在build的时候,能够访问这个目录

根目录下的CMakeLists.txt

简单的小型C++项目怎么用CMAKE进行管理

add_subdirectory(src) 的作用是向 CMake 告知该项目的源代码位于名为 src 的子目录中。当执行 cmake 命令时,CMake 会检查项目根目录下的 CMakeLists.txt 文件,并执行其中的指令。如果其中包含了 add_subdirectory 指令,那么 CMake 会在指定的目录下寻找另一个 CMakeLists.txt 文件,并执行其中的指令。通过这种方式,我们可以将一个大型项目拆分成多个子目录,并为每个子目录单独编写 CMakeLists.txt 文件,从而更加灵活和方便地管理项目。

target_link_libraries(untitled33 func) 是 CMake 中用于将目标库链接到可执行文件的指令。

在本例中,untitled33 是一个可执行文件的名称,func 是一个目标库的名称。使用 target_link_libraries 指令,我们告知 CMake 将目标库 func 链接到可执行文件 untitled33 中。这样,当我们执行 untitled33 可执行文件时,操作系统会自动加载并运行 func 目标库中的函数或代码,从而实现所需的功能。文章来源地址https://www.toymoban.com/news/detail-421736.html

到了这里,关于简单的小型C++项目怎么用CMAKE进行管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • windows vscode jsoncpp cmake c++ 构建项目

    jsoncpp的编译和使用推荐文章: jsoncpp的编译和使用 | 爱编程的大丙 (subingwen.cn) https://www.subingwen.cn/cpp/jsoncpp/ 从这个链接下载jsoncpp-master:https://github.com/open-source-parsers/jsoncpp 可以把这个文件夹名字改成jsoncpp,改短点 (●\\\'◡\\\'●),路径为D:/jsoncpp 下载 cmake 工具:我下载的是3.28.1版

    2024年01月20日
    浏览(40)
  • 【小沐学C++】C++ 基于CMake构建工程项目(Windows、Linux)

    官网地址: https://cmake.org CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。 (1)官网下载地址

    2024年02月13日
    浏览(25)
  • c++项目环境搭建(VMware+linux+ubantu+vscode+cmake)

    想运行一个c++项目,但是环境怎么整呢?b站走起!!! 链接:https://pan.baidu.com/s/1XJbR2F1boQ-CqV8P71UOqw  提取码:swin 八分钟完成VMware和ubuntu系统安装_哔哩哔哩_bilibili 按照视频来就行,别直接在计算机上安装linux系统,呜呜呜~~~找到一个博客,我跟着走之后发现硬盘被格式化了,

    2024年02月05日
    浏览(34)
  • C++包管理工具vcpkg的使用以及集成到VS2017和CMake

    1-1 clone 代码 1-2 编译 vcpkg 1-3 添加环境变量 将 vcpkg.exe 的路径添加到环境变量 1-4 更新vcpkg 进入vcpkg目录 安装库 删除库 更新库 查询已安装的开源库 查询vcpkg包含库 导出开源库(通常在项目中使用第三方开源库时会把其拷贝到项目文件夹中使用) 3-1 全局集成 可以在任意的

    2024年02月10日
    浏览(43)
  • C++集群聊天服务器 网络模块+业务模块+CMake构建项目 笔记 (上)

    跟着施磊老师做C++项目,施磊老师_腾讯课堂 (qq.com) 一、网络模块ChatServer chatserver.hpp chatserver.cpp json 里边会包含一个 msgid .由于客户端和服务器通信收发消息,需要判断这个消息是属于哪种业务的,就需要一个业务的标识,所以就用 msgid 来表示业务的标识.在 onMessage 函数中,并不想

    2024年02月20日
    浏览(35)
  • 怎么对视频进行简单补帧

    补帧原理通过已知连续两帧计算中间帧,让视频一秒钟多播放一些图片(24fps就是一秒钟播放24张,60fps就是一秒钟播放60张)图片多了,人眼就感觉非常流畅了,就像现实世界一样。补帧是让视频信息增加的过程,不会降低视频质量。 一般视频补帧补到60帧数,若源视频为假

    2023年04月12日
    浏览(36)
  • windows下使用microsoft、intel、gnu不同编译器利用cmake和vscode对c++和fortran程序进行编译和调试

    由于编译器支持特性、编译后程序运行速度、安装使用便捷程度等的不同,我们往往会安装多种不同的编译器。对于c++语言主要的编译器有:microsoft、intel、gnu等,对于fortran语言则更多,包括gnu、intel、pgi等等。不同的编译器在一个系统下,往往需要利用一些手段进行区分,

    2024年02月05日
    浏览(46)
  • 怎么给c++程序进行打包

            你有没有这样一段经历,你写好的C++程序想发给朋友看一下自己的成果,结果发给TA之后一直大部开。         这篇文章将告诉你怎么将C++程序进行打包安装,那废话不多说,现在开         首先,要安装vs2022自带的打包软件:Microsoft Visual Studio Installer Proje

    2024年02月06日
    浏览(32)
  • C++进行简单的图像处理

    目录 前言 一、读取,显示和保存 二、图像变换 1.显示灰度图 2.显示HSV图 3.高斯模糊 4.图片缩放 三、遍历图像 本文中介绍了用opencv处理图像的一些简单方法,并给出了代码。         waitKey(0)的作用是令窗口一直显示当前图像。            显示效果如下:        

    2024年02月11日
    浏览(37)
  • python 怎么使用pip进行包管理

    包管理工具是用来对一些应用程序的包进行管理的工具,比如nodejs使用npm,yarn来进行包管理,linux使用apt来进行包管理。python包管理工具或许不如他们有名(实际上pip的大名比前几位更响亮),但绝对比他们好用易用。没错,小编这里要说的就是pip,接下来的这篇文章,我们

    2023年04月21日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包