chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

cmake管理配置ROOT項(xiàng)目的方法

Geant4模擬學(xué)習(xí)交流 ? 來源:Geant4模擬學(xué)習(xí)交流 ? 作者:Geant4模擬學(xué)習(xí)交流 ? 2021-01-18 17:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ROOT作為使用C++開發(fā)的工具庫,自然少不了cmake這個(gè)項(xiàng)目組織工具。本文簡單介紹下cmake管理配置ROOT項(xiàng)目的方法,先上總圖

d14bef10-58a7-11eb-8b86-12bb97331649.png

本項(xiàng)目有一個(gè)頭文件,兩個(gè)源文件以及一個(gè)cmake配置文件組成。

序號 文件名 文件說明
1 CMakeLists.txt Cmake配置文件,用于組織項(xiàng)目的編譯需要的庫、編譯的過程、編譯結(jié)果
2 CMakeLists.txt.user Qtcreator打開cmake項(xiàng)目時(shí)生成的用戶緩存文件,可忽略
3 CMakeLists.txt.user.4825354

某個(gè)緩存文件的版本,可忽略

4 helloworld.h 頭文件
5 helloworld.cpp 源文件
6 main.cpp 源文件的main函數(shù)

其中helloworld案例是一個(gè)簡單的helloworld類。

main.cpp中的root部分來自于root自帶的案例。

其中cmake配置文件內(nèi)容如下

cmake_minimum_required(VERSION 3.5)

project(test_root01 LANGUAGES CXX VERSION 0.1.0)

include(CTest)

enable_testing()

set(CMAKE_CXX_STANDARD 11)

set(CMAKE_CXX_STANDARD_REQUIRED ON)

list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})

find_package(ROOT REQUIRED COMPONENTS MathCore RIO Hist Tree Net Graf Graf3d Gpad ROOTDataFrame Tree TreePlayer Rint )

include(${ROOT_USE_FILE})

include_directories(${CMAKE_SOURCE_DIR} ${ROOT_INCLUDE_DIRS})

add_definitions(${ROOT_CXX_FLAGS})

add_executable(${PROJECT_NAME} main.cpp helloworld.cpp)

target_link_libraries(${PROJECT_NAME} ${ROOT_LIBRARIES})

set(CPACK_PROJECT_NAME ${PROJECT_NAME})

set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})

include(CPack)

下面逐行講解

cmake_minimum_required(VERSION 3.5)

設(shè)定cmake最低版本要求

project(test_root01 LANGUAGES CXX VERSION 0.1.0)

定義項(xiàng)目名稱為test_root01,使用的語言C++,本次項(xiàng)目的版本號0.1.0

include(CTest)

包含cmake的一個(gè)測試庫,一般結(jié)合cppunit庫使用,我用過的測試庫是googletest。這個(gè)cppunit以后可以嘗試。

enable_testing()

啟用測試功能

set(CMAKE_CXX_STANDARD 11)

定義c++的標(biāo)準(zhǔn)為c++11

set(CMAKE_CXX_STANDARD_REQUIRED ON)

一般都寫,ON代表強(qiáng)制使用新特性,這個(gè)沒仔細(xì)研究過,抄上即可,有問題就注釋咯。

list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})

將環(huán)境變量ROOTSYS字段對應(yīng)的值賦給cmake搜索路徑,便于找到ROOT有關(guān)的東東

find_package(ROOT REQUIRED COMPONENTS MathCore RIO Hist Tree Net Graf Graf3d Gpad ROOTDataFrame Tree TreePlayer Rint )

找到ROOT庫,并且必須加載后面那一堆東東,其中Gpad好像畫圖必須用吧?

include(${ROOT_USE_FILE})

包含ROOT的一些變量配置文件?

include_directories(${CMAKE_SOURCE_DIR} ${ROOT_INCLUDE_DIRS})

包含一些ROOT的頭文件目錄

add_definitions(${ROOT_CXX_FLAGS})

添加ROOT的一些C++標(biāo)志

add_executable(${PROJECT_NAME} main.cpp helloworld.cpp)

生成可執(zhí)行文件,后面是源文件,其中必須 有個(gè)main函數(shù)

target_link_libraries(${PROJECT_NAME} ${ROOT_LIBRARIES})

鏈接ROOT的庫文件到可執(zhí)行文件

set(CPACK_PROJECT_NAME ${PROJECT_NAME})

設(shè)置cpack的一些信息,這里是名字,用于打包?

set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})

設(shè)置cpack的版本

include(CPack)

包含cpack的什么鬼?

可以看出來要配置好環(huán)境變量如下圖

d192e6f4-58a7-11eb-8b86-12bb97331649.png

本質(zhì)就是

source 你的ROOT安裝路徑/thisroot.sh

本文是一種老式的對開發(fā)ROOT項(xiàng)目進(jìn)行cmake配置的方法,但是支持新版本,如果要想研究新的方法,可以參考如下鏈接

https://cliutils.gitlab.io/modern-cmake/chapters/packages/ROOT.html,鏈接如果沒了,請參考下圖自行查找

makefile用戶喜歡的方法

http://ipnp.cz/scheirich/?page_id=178

源碼鏈接如下,如果失效請點(diǎn)擊《閱讀原文》

https://gitee.com/qiangge_666/test_root01

責(zé)任編輯:xj

原文標(biāo)題:CERN ROOT開發(fā)環(huán)境的cmake配置

文章出處:【微信公眾號:Geant4模擬學(xué)習(xí)交流】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 開發(fā)環(huán)境
    +關(guān)注

    關(guān)注

    1

    文章

    268

    瀏覽量

    17615
  • CERN
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    8359
  • root
    +關(guān)注

    關(guān)注

    1

    文章

    86

    瀏覽量

    22078

原文標(biāo)題:CERN ROOT開發(fā)環(huán)境的cmake配置

文章出處:【微信號:gh_361ab7628207,微信公眾號:Geant4模擬學(xué)習(xí)交流】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    ??低暢晒θ脒x2025年度應(yīng)急管理裝備孵化項(xiàng)目

    近日,應(yīng)急管理部辦公廳、工業(yè)和信息化部辦公廳、國務(wù)院國資委辦公廳聯(lián)合印發(fā)《關(guān)于公布2025年度應(yīng)急管理裝備孵化入選項(xiàng)目的通知》(應(yīng)急廳函〔2025〕468號),正式公布本年度全國應(yīng)急管理
    的頭像 發(fā)表于 01-22 17:27 ?1161次閱讀

    ESP32 編譯過程中 bootloader 配置階段的 CMake 緩存沖突錯(cuò)誤,記錄

    : 1. 徹底清理編譯緩存(最關(guān)鍵) 首先刪除項(xiàng)目的 build 目錄,這是解決 CMake 緩存沖突最直接有效的方法: # 進(jìn)入你的項(xiàng)目目錄 cd F:\\\\xiaozhi-esp
    發(fā)表于 12-23 07:07

    ESP32-S3 工具鏈+環(huán)境配置的最終步驟清單

    、Ninja、CMake路徑)已加載。 步驟3:驗(yàn)證工具鏈?zhǔn)欠?b class='flag-5'>配置成功 在 export.bat 運(yùn)行后的終端中,執(zhí)行以下命令: # 驗(yàn)證 ESP32-S3 編譯器
    發(fā)表于 11-26 07:36

    CubeMX 生成的 RTT 項(xiàng)目無法通過 cmake 編譯怎么解決?

    在 CubeMX V6.13.0 版本上配置CMake 工程無法通過編譯,報(bào)錯(cuò)如下圖
    發(fā)表于 10-11 15:04

    【CPKCOR-RA8D1】1、VSCODE+CMAKE開發(fā)環(huán)境搭建

    Configurator是為不使用e2 studio的用戶而專門設(shè)計(jì)的圖形配置工具,可以生成MDK,IAR或是CMAKE工程。 3、安裝VSCODE擴(kuò)展Renesas Platform 安裝了Renesas
    發(fā)表于 10-09 16:17

    如何選擇適合自己項(xiàng)目的通信協(xié)議評估工具?

    LZ-DZ200電能質(zhì)量在線監(jiān)測裝置 選擇適合項(xiàng)目的通信協(xié)議評估工具,核心是 對齊項(xiàng)目需求與工具能力 ,避免 “過度選型”(用高端工具測簡單場景)或 “功能不足”(用輕量工具測復(fù)雜協(xié)議)。以下是分步
    的頭像 發(fā)表于 08-27 09:19 ?670次閱讀
    如何選擇適合自己<b class='flag-5'>項(xiàng)目的</b>通信協(xié)議評估工具?

    SEGGER工具鏈集成到CMake和VS Code了

    SEGGER公司已將其嵌入式開發(fā)工具鏈集成到了廣泛使用的CMake構(gòu)建配置工具中,這意味著基于Visual Studio Code(VS Code)代碼編輯器的應(yīng)用開發(fā)可以方便的使用SEGGER工具實(shí)現(xiàn)了。
    的頭像 發(fā)表于 07-23 15:06 ?972次閱讀

    基于LockAI視覺識別模塊:C++人臉識別

    ) set(CMAKE_CXX_STANDARD_REQUIRED ON) ? # 定義項(xiàng)目根目錄路徑 set(PROJECT_ROOT_PATH \"
    發(fā)表于 07-01 12:01

    基于LockAI視覺識別模塊:手寫數(shù)字識別

    (CMAKE_CXX_STANDARD_REQUIRED ON) ? # 定義項(xiàng)目根目錄路徑 set(PROJECT_ROOT_PATH \"${CMAKE_CURRENT_SOURC
    發(fā)表于 06-30 16:45

    基于LockAI視覺識別模塊:C++條碼識別

    (CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) ? # 定義項(xiàng)目根目錄路徑 set(PROJECT_ROOT_P
    發(fā)表于 05-27 10:26

    基于LockAI視覺識別模塊:C++圖像采集例程

    (CMAKE_CXX_STANDARD_REQUIRED ON) ? # 定義項(xiàng)目根目錄路徑 set(PROJECT_ROOT_PATH \"${CMAKE
    發(fā)表于 04-30 10:52

    在線監(jiān)測管理系統(tǒng)的智能化功能詳解 多角色權(quán)限與多項(xiàng)目管理 多終端適配

    的原則,布局合理、邏輯清晰,提供良好的用戶操作體驗(yàn)。系統(tǒng)采用創(chuàng)新的三層監(jiān)測要素架構(gòu),支持多項(xiàng)目、多設(shè)備、多測點(diǎn)的靈活擴(kuò)展,可滿足各類小型、中型單(多)項(xiàng)目的管理需求。 系統(tǒng)的主要功能特點(diǎn)包括: 多
    的頭像 發(fā)表于 03-19 17:18 ?780次閱讀

    Android系統(tǒng)主板應(yīng)用配置默認(rèn)獲取管理所有文件權(quán)限方法

    本文介紹Android系統(tǒng)主板應(yīng)用配置默認(rèn)獲取管理所有文件權(quán)限方法,基于觸覺智能SBC3588行業(yè)主板演示,搭載了瑞芯微RK3588芯片,八核處理器,6T高算力NPU;音視頻接口、通信接口等各類接口
    的頭像 發(fā)表于 03-12 18:58 ?977次閱讀
    Android系統(tǒng)主板應(yīng)用<b class='flag-5'>配置</b>默認(rèn)獲取<b class='flag-5'>管理</b>所有文件權(quán)限<b class='flag-5'>方法</b>

    在CubeMX V6.13.0版本上配置CMake工程無法通過編譯怎么解決?

    在 CubeMX V6.13.0 版本上配置CMake 工程無法通過編譯,報(bào)錯(cuò)如下圖
    發(fā)表于 03-07 16:59

    為什么無法在OpenVINO? 2021.3源中使用CMAKE編譯ONNX模型?

    嘗試從源版本 2021.3 編譯OpenVINO? 錯(cuò)誤: ~/項(xiàng)目/OpenVINO/cmake-build-debug/_deps/ext_onnx-src/onnx/onnx_pb.h
    發(fā)表于 03-05 08:29