首页 > 其他分享 >CMake构建学习笔记5-libtiff库的构建

CMake构建学习笔记5-libtiff库的构建

时间:2024-08-25 15:37:30浏览次数:9  
标签:CMake -- libtiff Dtiff PREFIX 构建

libtiff是一个开源库,用于读写TIFF(Tagged Image File Format)文件。使用CMake进行构建的关键指令如下所示:

# 配置CMake  
cmake .. -G "$Generator" -A x64 `
    -DCMAKE_BUILD_TYPE=RelWithDebInfo `
    -DCMAKE_PREFIX_PATH="$InstallDir" `
    -DCMAKE_INSTALL_PREFIX="$InstallDir" `
    -Dtiff-docs=OFF `
    -Dtiff-tests=OFF `
    -Dtiff-contrib=OFF 

# 构建阶段,指定构建类型
cmake --build . --config RelWithDebInfo -- /m

# 安装阶段,指定构建类型和安装目标
cmake --build . --config RelWithDebInfo --target install

libtiff可以以CMAKE_PREFIX_PATH作为依赖库,在设置了CMAKE_PREFIX_PATH变量之后,就会优化在这个目录中寻找libjpeg。tiff-docs表示libtiff的文档、tiff-tests表示libtiff的测试程序,tiff-contrib表示libtiff的衍生程序。一般来说,代码项目中这样的选项都是不用进行构建的,以加快构建的效率。

另外之前的文章没有提到的一点是,这里的构建阶段加入了/m选项,这是一个附加参数,表示Windows下使用MSBuild时启用多核编译,从而加速构建过程。

标签:CMake,--,libtiff,Dtiff,PREFIX,构建
From: https://www.cnblogs.com/charlee44/p/18379009

相关文章

  • CMake构建学习笔记4-libjpeg库的构建
    libjpeg是一个广泛使用的开源库,用于处理JPEG(JointPhotographicExpertsGroup)图像格式的编码、解码、压缩和解压缩功能,是许多图像处理软件和库的基础。libjpeg本身的构建没什么特别的,不过值得说道的是libjpeg存在一个高性能分支叫做libjpeg-turbo,通过汇编代码使用SIMD(SingleIns......
  • CMake 保姆级教程
    1.CMake概述        CMake是一个项目构建工具,并且是跨平台的。关于项目构建我们所熟知的还有Makefile,通过make命令进行项目的构建,大多是IDE软件都集成了make,比如:VS的nmake、linux下的GNUmake、Qt的qmake等,如果自己动手写makefile,会发现,makefile通常依赖......
  • JavaScript 构建一个简单的待办事项应用
    包含添加、删除、标记任务功能。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>TodoList&......
  • 在Python虚拟环境中利用PyInstaller高效构建可执行EXE文件的专业指南
    使用虚拟环境(如venv或conda)来打包Python程序为exe文件是一个很好的实践,因为它可以确保应用程序在不同的环境中具有一致性和可移植性。然而,需要注意的是,虚拟环境本身并不直接提供将Python程序打包成exe文件的功能。这通常需要使用专门的打包工具,如PyInstaller、cx_Freeze或py......
  • WebRTC 实时通信:构建高效网页视频通话的秘诀
    标题:WebRTC实时通信:构建高效网页视频通话的秘诀WebRTC(WebReal-TimeCommunications),即网页实时通信技术,是一种支持浏览器间无需额外插件即可实现音视频实时通信的API。本文将深入探讨WebRTC的基本概念、关键技术,并通过示例代码展示如何在网页中实现实时视频通话功能,让您快......
  • Ruby Web服务开发:构建高效RESTful API的秘诀
    标题:RubyWeb服务开发:构建高效RESTfulAPI的秘诀Ruby作为一种灵活、高效的编程语言,通过其丰富的库和框架,为开发Web服务提供了强大的支持。本文将深入探讨如何在Ruby中开发Web服务,特别是RESTfulAPI。我们将从基础概念讲起,逐步深入到框架选择、路由配置、控制器编写、模型设......
  • 使用 LangGraph 构建工作流, 实现与虚拟女友对话
    文章目录简介背景流程图代码实现简介介绍了如何使用LangGraph搭建一个基于聊天机器人的工作流,具体实现了一个虚拟女友的角色扮演游戏。通过流程图展示了构建完成的状态图,并介绍了各个节点的功能,如接收用户输入、生成对话等。提供了是否使用历史聊天记录的方法,让......
  • 构建Spring Boot应用的微服务服务容错机制
    构建SpringBoot应用的微服务服务容错机制大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!微服务架构中的容错性在微服务架构中,服务之间的依赖关系复杂,任何一个服务的故障都可能影响到整个系统的稳定性。因此,构建一个具有容错能力的微服务系统至关重......
  • 构建Spring Boot应用的微服务服务动态路由
    构建SpringBoot应用的微服务服务动态路由大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!微服务架构中的动态路由需求在微服务架构中,服务实例可能会频繁地上下线,这就需要一种机制来动态地管理和路由请求到正确的服务实例。动态路由能够提高系统的可......
  • Ros2 Moveit2 编译安装报错解决方案 - By not providing "Findgz_sim_vendor.cmake" i
    moveit_resources---stderr:gz_ros2_controlCMakeErroratCMakeLists.txt:27(find_package):Bynotproviding"Findgz_sim_vendor.cmake"inCMAKE_MODULE_PATHthisprojecthasaskedCMaketofindapackageconfigurationfileprovidedby"gz......