作为使用C ++++开发的工具库,ROOT对于项目组织工具cmake自然是必不可少的。本文简要介绍了cmake如何管理和配置ROOT项目。
首先是一般情况。该项目包括一个头文件,两个源文件和一个cmake配置文件。
序列号文件名文件说明1CMakeLists.txt Cmake配置文件,用于组织项目编译,编译过程,编译结果所需的库2CMakeLists.txt.userQtcreator打开cmake项目时生成的用户缓存文件3CMakeLists.txt.user可以忽略。 4825354某些缓存文件版本,可以忽略4helloworld.h头文件,5helloworld.cpp源文件以及6main.cpp源文件的主要功能。
helloworld案例是一个简单的helloworld类。 main.cpp中的根部分来自于根自身的大小写。
cmake配置文件的内容如下cmake_minimum_required(VERSION3.5)项目(test_root01LANGUAGESCXXVERSION0.1.0)include(CTest)enable_testing()set(CMAKE_CXX_STANDARD11)set(CMAKE_CXX_STANDARD_REQUIREDON)list(APPENDCMAKE_P_QUIRE_ON) {CMAKE_SOURCE_DIR} $ {ROOT_INCLUDE_DIRS})add_definitions($ {ROOT_CXX_FLAGS})add_executable($ {PROJECT_NAME} main.cpphello.cpp)target_world_librECT_NAME $ {PROJOT} PROPACKNAME $ {PROJOT} PROCACK {PROJOT} PROCACK CPack)以下是cmake_minimum_required(VERSION3.5)设置的逐行说明cmake最低版本要求项目(test_root01LANGUAGESCXXVERSION0.1.0)将项目名称定义为test_root01,使用的语言是C ++,此项目的版本号为0.1 .0include(CTest)包含cmake的测试库,通常与cppunit库结合使用。我使用的测试库是googletest。
您将来可以尝试使用此cppunit。 enable_testing()启用测试功能集(CMAKE_CXX_STANDARD11)定义了C ++的标准,因为通常编写c ++ 11集(CMAKE_CXX_STANDARD_REQUIREDON),ON表示强制使用新功能,对此没有仔细研究,仅对其进行复制,仅作评论如果你有任何问题。
list(APPENDCMAKE_PREFIX_PATH $ ENV {ROOTSYS})将与环境变量ROOTSYS字段对应的值分配给cmake搜索路径,以便于查找与ROOT相关的内容。似乎必须使用绘图? include($ {ROOT_USE_FILE})是否包含一些ROOT变量配置文件? include_directories($ {CMAKE_SOURCE_DIR} $ {ROOT_INCLUDE_DIRS})包含一些ROOT头文件目录add_definitions($ {ROOT_CXX_FLAGS})添加一些ROOT的C ++标志add_executable($ {PROJECT_NAME} main.cpphelloworld.cpp)以生成可执行文件,然后生成源文件文件,该文件必须具有主要功能target_link_libraries($ {PROJECT_NAME} $ {ROOT_LIBRARIES}),以将ROOT的库文件链接到可执行文件集(CPACK_PROJECT_NAME $ {PROJECT_NAME}),以设置cpack的某些信息,这是名称,用于包装? set(CPACK_PROJECT_VERSION $ {PROJECT_VERSION})设置cpack的版本include(CPack)cpack到底包含什么?可以看出,您需要配置环境变量,如下所示。
实质是获取您的ROOT安装路径/thisroot.sh。本文是用于为开发ROOT项目而配置cmake的老式方法,但支持新版本。
如果您想研究新方法,可以参考以下链接https://cliutils.gitlab.io/modern-cmake/chapters/packages/ROOT.html,如果该链接不见了,请参考下图找到makefile用户最喜欢的方法http://ipnp.cz / scheirich /?page_id = 178源代码链接如下,如果失败,请单击“阅读原件”。 https://gitee.com/qiangge_666/test_root01。
公司: 深圳市捷比信实业有限公司
电话: 0755-29796190
邮箱: ys@jepsun.com
产品经理: 汤经理
QQ: 2057469664
地址: 深圳市宝安区翻身路富源大厦1栋7楼

更多资讯
获取最新公司新闻和行业资料。
- 欧璐O-墙壁开关:简约设计与实用功能的完美结合 欧璐O-墙壁开关是一款结合了实用性和设计感的产品,特别适合现代家居使用。这款开关设计为一开多三孔单的设计模式,意味着一个开关可以控制多个电器的电源,不仅节省了安装空间,还极大地提升了使用的便捷性。其外观简...
- 如何选择合适的聚鼎PXXXX T/S电感与TSS管搭配方案 基于应用场景的TSS管与聚鼎电感选型策略在实际工程设计中,合理匹配TSS管与聚鼎PXXXX系列电感是保障系统可靠性的关键。以下是根据不同应用场景的推荐搭配方案。1. 高频开关电源系统推荐配置:选用聚鼎PXXXX-T型电感 + 高速响...
- 如何根据项目需求选择PTTC聚鼎PT08V2DF-C或PTLC24D-B传感器 基于项目需求的传感器选型指南:PT08V2DF-C vs PTLC24D-B在智能控制系统设计中,传感器的选型直接决定系统的可靠性与扩展性。面对PTTC聚鼎推出的两款热门型号——PT08V2DF-C与PTLC24D-B,工程师常面临选择困惑。本文将从项目实际出发...
- 如何选择适合项目的电源管理IC(PMIC)?关键参数与选型指南 电源管理IC(PMIC)选型全攻略:从参数到应用匹配面对市场上种类繁多的电源管理IC(PMIC),工程师在项目开发初期必须明确需求,合理评估关键参数,以确保系统性能、可靠性和成本之间的最佳平衡。1. 核心选型参数详解输入...
- 深入解析:如何选择适合项目的电阻阵列——以TFAN与CN..A系列为例 前言面对日益复杂的电子系统设计需求,合理选型电阻阵列是实现电路性能优化的关键一步。本文将以主流的TFAN系列与CN..A系列为例,从参数、环境适应性、成本等多个维度进行深度剖析,帮助工程师做出科学决策。一、关键参...
- 双极晶体管匹配方法 在电子工程领域中,双极晶体管的匹配是一个关键的过程,尤其是在需要高精度和稳定性的电路设计中。双极晶体管匹配指的是选择具有相似电气特性的双极型晶体管以确保电路性能的一致性和可靠性。这通常涉及到匹配晶体管...
- WAN2012F245H04配置指南及常见问题解决方法 在现代网络环境中,设备如WAN2012F245H04扮演着至关重要的角色,它能够帮助用户实现高效稳定的网络连接。为了确保设备的最佳性能,正确的配置和维护是必不可少的。以下是一些关于WAN2012F245H04的基本配置指南以及一些常见的问...
- LAN信号切换器使用方法与配置详解 在当今的网络环境中,LAN信号切换器是连接多个设备到同一网络的重要工具。它能帮助用户高效地管理和分配网络资源,确保每个设备都能稳定、快速地接入互联网。以下是关于如何使用和配置LAN信号切换器的一些基本步骤和技...
- UART串口桥接器详解:功能、应用与配置方法 UART(通用异步收发传输器)是一种常见的串行通信接口,广泛应用于各种嵌入式系统和设备之间数据传输。UART串口桥接器作为连接不同设备或系统间数据交换的重要工具,在物联网、工业自动化、嵌入式开发等领域发挥着重要作...
- 台湾大毅科技 经营理念 主要商品/ 服务项目 产业类别被动电子元件制造业联络人人资部产业描述电子制造业电话暂不提供资本额15亿 经济部商业司查询传真暂不提供员工人数1300人地址桃园市芦竹区南山路三段17巷4号相关连结【背景】 大毅科技为通过ISO-9001/IATF-16949...
- 主变容量为基准的电容器组配置方法详解 基于主变容量的电容器组配置流程在变电站设计与改造中,如何科学合理地配置电容器组,是保障电力系统高效运行的关键环节。以主变容量为基准进行电容器容量配置,不仅符合国家标准,也便于统一管理和运维。1. 明确配置...
- 深入解析IO扩充器应用:从原理到实际项目部署 深入解析IO扩充器应用:从原理到实际项目部署随着物联网(IoT)和智能控制系统的发展,如何在不增加主控复杂度的前提下扩展外设接口,成为工程师必须面对的问题。本文将结合实例,全面解析IO扩充器的实际应用价值及其部...
- 贴片磁珠 超大电流:如何选择适合你项目的理想元件? 贴片磁珠 超大电流:如何选择适合你项目的理想元件?面对市场上琳琅满目的贴片磁珠产品,尤其在需要承受大电流的应用中,如何准确挑选一款“超大电流”贴片磁珠,成为工程师必须掌握的核心技能。本文将从关键参数、选...
- 深入理解标准逻辑IC:从基础到实际项目实践 深入理解标准逻辑IC:从基础到实际项目实践标准逻辑IC不仅是电子设计的基石,更是实现复杂数字系统的关键环节。本文将从理论基础出发,结合实际项目案例,全面解析其应用价值。1. 基础逻辑门的功能详解标准逻辑IC通常以...
- ABB塑壳断路器(S系列.T系列): 高效可靠的配电解决方案 ABB塑壳断路器以其卓越的性能和可靠性在电气行业中享有盛誉。S系列和T系列作为ABB断路器中的佼佼者,分别针对不同的应用领域提供了高效且灵活的解决方案。S系列塑壳断路器设计紧凑、功能全面,适用于各种工业及商业环境...
- 如何选择适合项目的线性传感器或磁性位置传感器? 选型关键因素解析在实际工程设计中,正确选择线性传感器或磁性位置传感器至关重要。以下从多个维度进行分点论述,帮助工程师做出最优决策。1. 测量精度要求若项目对位置测量精度要求极高(如±0.01mm以内),建议优先考虑...
- PH3-M瞬态抑制二极管插件TVS管 聚鼎产品特性与应用 关于聚鼎PH3-M瞬态抑制二极管插件TVS管,这是一种高效能的保护器件,广泛应用于各种电子设备中,以防止静电放电(ESD)、电气快速瞬变(EFT)以及雷击等引起的电压瞬变对电路造成损害。PH3-M系列具有低箝位电压、高能量吸收...
- TSS管与聚鼎PXXXX系列T管的应用与比较 在电子元件领域,TSS管和聚鼎PXXXX系列T管是两种常见的保护器件,它们在电路设计中扮演着重要的角色。TSS(Transient Voltage Suppression)管是一种瞬态电压抑制二极管,用于保护敏感电子设备免受电压浪涌损害。而聚鼎PXXXX系列T管...
- USB切换器与USB-C切换器:高效多设备管理的智能解决方案 USB切换器与USB-C切换器:高效多设备管理的智能解决方案在现代办公和家庭环境中,用户往往需要同时连接多个USB设备,如键盘、鼠标、U盘、外接硬盘等。随着USB-C接口的普及,传统的USB-A接口逐渐被取代,这也催生了对高性能、...
- 聚鼎PH3-M瞬态抑制二极管插件TVS管:高性能电路保护新选择 聚鼎PH3-M瞬态抑制二极管插件TVS管简介聚鼎PH3-M是一款专为高可靠性电子设备设计的瞬态抑制二极管(TVS),采用插件式封装,适用于各类需要快速响应过电压保护的电路。该器件具有低箝位电压、快速响应时间(典型值小于1纳秒...