首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将根目录与CMake集成

问将根目录与CMake集成
EN

Stack Overflow用户
提问于 2019-10-17 06:38:53
回答 1查看 317关注 0票数 0

我试图在我的C++项目中使用根目录,因为我无法让CMake正确地链接根库。到目前为止,该项目只由一个main.cpp文件组成。这是我的CMakeLists.txt文件:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.10)

project(FirstProject)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

file(GLOB src "src/*.cpp")

# telling CMake where to find the ROOT installation
list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})

# locating the ROOT package
find_package(ROOT REQUIRED COMPONENTS RIO Net Hist)

# include ROOT functions and macros
include_directories(${CMAKE_SOURCE_DIR} ${ROOT_INCLUDE_DIRS})
add_definitions(${ROOT_CXX_FLAGS})

add_executable(main ${src})
# set_target_properties(main PROPERTIES LINKER_LANGUAGE CXX)
target_compile_options(main PUBLIC -Wall)
target_compile_options(main PUBLIC -Wextra)
target_compile_options(main PUBLIC --std=c++17)
target_compile_options(main PUBLIC -Iinclude)

target_link_libraries(main ${ROOT_LIBRARIES})

当我试图在main.cpp文件中包含"TH1F.h“头文件时,我得到了大量的编译时错误。有谁可以帮我?我需要生成一个字典吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-18 03:29:39

我修改了我的CmakeLists.txt文件。它看起来是这样的:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.10)

project(FirstProject)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

file(GLOB src "src/*.cpp")

# locating the ROOT package
find_package(ROOT 6.16 CONFIG REQUIRED)

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)

add_executable(main ${src})
set_target_properties(main PROPERTIES LINKER_LANGUAGE CXX)
target_compile_options(main PUBLIC -Wall)
target_compile_options(main PUBLIC -Wextra)
target_compile_options(main PUBLIC --std=c++17)

target_link_libraries(main PUBLIC ROOT::Hist)

我现在得到的错误是

代码语言:javascript
复制
In file included from /home/Me/Desktop/MyDirectory/Code/FirstProject/src/header.cpp:1:0:
/home/Me/Desktop/MyDirectoory/Code/FirstProject/include/header.h:7:10: fatal error: TH1F.h: No such file or directory
 #include <TH1F.h>
          ^~~~~~~~
compilation terminated.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58422567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档