CMake——GitHub移植项目

第一次从GitHub移植一个项目,浅记录一下(window环境)

被移植的Github项目地址:http://code.google.com/p/bgslibrary/ ,一个关于移动侦测中背景减除(Background Subtraction)的库,库里包含了多种算法。

1.下载项目的.zip文件(这里也可以使用git克隆),笔者这里是直接下载.zip放在了E:/Pack路径下

在这里插入图片描述

2.解压缩压缩文件夹后用cmake-gui构建

在这里插入图片描述

配置后,配置生成:

在cmd中输入:

cd E:/Pack/bgslibrary/buildmingw  

cmake --build . --config Release

mingw32-make install

成功后会生成 C:/Program Files (x86)/bgslibrary

因为C盘我一般不乱放东西,所以又把它复制到了E盘命名为bgslibrary-buildmingw

在这里插入图片描述

到这里就移植成功了,因为移植的是一个库,为了方便后续使用,添加PATH环境变量
在这里插入图片描述

我的疑惑点:编译过后得到的bgslibrary和原先用于cmake-gui的bgslibrary有什么不同?

Ai解答:

当你通过 CMake 和编译过程构建 bgslibrary 并最终在 E:\Pack\bgslibrary-buildmingw 目录下得到binincludelib 文件夹时,你得到的是一个编译后的安装版本。这与最初用于 CMake-GUI 的源代码版本有一些关键区别:

  1. 源代码 vs. 编译后的文件

    • 源代码版本:最初用于 CMake-GUI 的 bgslibrary 包含源代码文件(如 .cpp.h 文件),以及构建系统文件(如CMakeLists.txt)。

    • 编译后的版本

      :在E:\Pack\bgslibrary-buildmingw目录下,你得到的是编译后的二进制文件和库文件,包括:

      • bin 目录:包含可执行文件(如 bgslibrary.exe)。
      • lib 目录:包含库文件(如 libbgslibrary_core.dlllibbgslibrary_core.dll.a)。
      • include 目录:包含头文件,用于在其他项目中包含和链接库。
  2. 构建系统文件

    • 源代码目录通常包含 CMakeLists.txt 和其他 CMake 构建脚本,这些文件定义了如何构建项目。
    • 编译后的安装目录不包含这些构建系统文件,因为它们只在构建过程中使用。
  3. 配置文件

    • 源代码目录可能包含配置文件(如 .xml 或其他配置格式),这些文件用于配置库的行为。
    • 编译后的安装目录可能不包含这些配置文件,或者可能包含一些预配置的文件,具体取决于构建过程中的配置。
  4. 依赖关系

    • 源代码目录可能依赖于特定的构建环境和依赖库(如 OpenCV)。
    • 编译后的安装目录通常包含所有必要的二进制文件,但可能仍然需要确保相应的依赖库(如 OpenCV 的 DLL 文件)在运行时可用。
  5. 可移植性

    • 源代码目录可以在不同的系统和环境中重新构建,只需配置适当的构建选项。
    • 编译后的安装目录是为特定的构建环境和配置生成的,可能不适用于其他环境。
  6. 示例和文档

    • 源代码目录可能包含示例代码、文档和其他辅助文件,这些文件有助于理解和使用库。
    • 编译后的安装目录可能不包含这些示例和文档文件。

总结

文档

  • 源代码目录可能包含示例代码、文档和其他辅助文件,这些文件有助于理解和使用库。
  • 编译后的安装目录可能不包含这些示例和文档文件。

总结

编译后的 bgslibrary
安装目录主要包含运行和使用库所需的二进制文件和头文件。相比之下,源代码目录包含构建项目所需的所有文件和资源,以及可能的示例和文档。如果你需要重新构建或修改 bgslibrary,你需要源代码目录;如果你只需要使用库,编译后的安装目录就足够了。

最后,感谢以下文章提供的帮助:
Qt5 与OpenCV4教程一:Qt5.12安装与OpenCV4.5.0配置
如何通过Git +Cmake运行代码

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《CMake——入门到精通》是一本介绍CMake的书籍。CMake是一个跨平台的开源构建工具,它可以用于自动化构建、测试和部署应用程序、库和模块。 这本书从CMake的基本概念和用法入手,逐步深入介绍了CMake的各种功能和高级用法。首先,书中介绍了CMake的安装和配置,以及CMake项目的基本结构。然后,书中详细讲解了如何编写CMakeLists.txt文件来描述项目的构建过程,包括如何定义源文件、头文件和链接库,如何设置编译选项和链接选项,以及如何生成不同平台和编译器下的构建配置。 在介绍完CMake的基本使用后,书中着重讲解了CMake的高级功能和技巧。比如,如何使用CMake进行跨平台开发,如何进行自定义构建规则,如何配置项目的安装和打包,以及如何对大型项目进行模块化管理等等。同时,书中还提供了大量的示例代码和实用技巧,帮助读者更好地理解和应用CMake。 总的来说,《CMake——入门到精通》是一本系统而全面的CMake教程,适合想要学习和掌握CMake的开发人员阅读。无论是初学者还是有一定经验的开发者,都可以从这本书中获取到实用的知识和经验,提高项目构建的效率和质量。无论是在学习中还是在实际工作中,这本书都可以成为CMake的权威参考指南。 ### 回答2: 《cmake——入门到精通.pdf》是一本关于CMake的书籍。CMake是一个跨平台的开源构建工具,用于管理软件项目的构建过程。本书旨在帮助读者从入门到精通掌握CMake的使用。 这本书首先介绍了CMake的基本概念和原理,包括如何编写CMakeLists.txt文件以及如何配置和生成项目的构建系统。然后,书中详细介绍了CMake的常用功能和命令,包括设置编译选项、指定源文件、添加库和链接库等。此外,本书还深入讲解了CMake的高级用法,如多目录项目管理、条件编译、自定义函数和宏等。 除了基本功能和用法,本书还涵盖了CMake与其他工具和框架的集成,如与Qt、OpenGL和Boost等。读者可以学习如何使用CMake来管理复杂项目和库的构建过程。 《cmake——入门到精通.pdf》也提供了大量的示例和实战项目,帮助读者更好地理解和应用CMake。通过阅读本书,读者将能够全面了解CMake的工作原理和常用技巧,掌握使用CMake构建和管理项目的能力。 总之,借助《cmake——入门到精通.pdf》,读者可以系统地学习和掌握CMake的基本概念和高级用法,并能够灵活应用CMake来管理复杂项目的构建过程。这本书对于软件开发者和项目管理者来说,是一本非常实用和有价值的参考书。 ### 回答3: 《CMake入门到精通.pdf》是一本介绍CMake工具的书籍。CMake是一个跨平台的开源构建工具,可以用于管理和自动化C++项目的构建过程。该书以系统的方式介绍了CMake的基本概念、语法和用法。 首先,书中详细解释了CMake的背景和作用。CMake的主要功能是生成与平台无关的构建脚本,在不同的操作系统和编译器上都可以使用。它可以通过简单的配置文件来管理项目的依赖关系和编译选项。 其次,书中介绍了CMake的基本语法和常用命令。CMake使用一种类似于脚本的语言来描述项目的构建过程,通过编写CMakeLists.txt文件来配置项目。书中示例详细展示了如何编写CMakeLists.txt文件,包括设置项目名称、指定源文件、添加库和链接库等等。 然后,书中深入讲解了CMake的高级用法和技巧。CMake提供了丰富的功能来处理复杂的项目结构和构建需求,例如条件判断、循环、宏定义等。书中通过实际案例演示了这些高级特性的使用方法,帮助读者更好地理解和运用CMake。 最后,书中还介绍了CMake与其他开发工具的集成,如CTest、CPack和CDash等。CTest用于自动化测试,CPack用于生成安装包,CDash用于持续集成。书中展示了如何使用这些工具来进一步提高项目的开发效率和质量。 总之,《CMake入门到精通.pdf》通过全面而系统的方式介绍了CMake工具的使用方法,适合初学者和有一定经验的开发者阅读。读者可以通过学习这本书,掌握CMake的基本概念和语法,了解CMake在实际项目中的应用,提高项目的构建效率和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值