Cannot find some headers

Đang mở
#45 6 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
cmake
Lĩnh vực
build-system

Hướng nghiên cứu

Bắt đầu với các tệp CMakeLists.txt và main.cpp được cung cấp, sau đó tái hiện lỗi thiếu boost/accumulators/accumulators.hpp bằng CPM.cmake và Boost::headers. Kiểm tra cách CPMAddPackage lấy Boost 1.82.0 hoặc 1.83.0 và cách target Boost::headers cung cấp các đường dẫn include. Được xem là hoàn tất khi ví dụ có thể được cấu hình và build với các headers được liệt kê được tìm thấy.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hi,

I am trying to install boost v1.83.0 with CPM.cmake, but some headers like the ones in <boost/accumulators/[...]> cannot be found in the standard path during build. Can you tell me why and/or help me please?

Below are a simple CMakeLists.txt and a simple program reproducing the problem (also with boost 1.82.0...):

# CMakeLists.txt
add_executable(CPMExampleBoost main.cpp)
target_compile_features(CPMExampleBoost PRIVATE cxx_std_17)

file(
  DOWNLOAD
  https://github.com/cpm-cmake/CPM.cmake/releases/download/v0.38.3/CPM.cmake
  ${CMAKE_CURRENT_BINARY_DIR}/cmake/CPM.cmake
  EXPECTED_HASH SHA256=cc155ce02e7945e7b8967ddfaff0b050e958a723ef7aad3766d368940cb15494
)
include(${CMAKE_CURRENT_BINARY_DIR}/cmake/CPM.cmake)

set(Boost_DEBUG ON)

CPMAddPackage(
  NAME Boost
  VERSION 1.83.0
  GITHUB_REPOSITORY "boostorg/boost"
  GIT_TAG "boost-1.83.0"
)

target_link_libraries(CPMExampleBoost PRIVATE Boost::headers)
// Taken from https://www.boost.org/doc/libs/1_83_0/doc/html/accumulators/user_s_guide.html

#include <boost/accumulators/accumulators.hpp>
#include <boost/accumulators/statistics/mean.hpp>
#include <boost/accumulators/statistics/moment.hpp>
#include <boost/accumulators/statistics/stats.hpp>
#include <iostream>
using namespace boost::accumulators;

int main() {
  accumulator_set<double, stats<tag::mean, tag::moment<2>>> acc;

  acc(1.2);
  acc(2.3);
  acc(3.4);
  acc(4.5);

  std::cout << "Mean:   " << mean(acc) << std::endl;
  std::cout << "Moment: " << moment<2>(acc) << std::endl;
}

main.cpp:4:10: fatal error: boost/accumulators/accumulators.hpp: No such file or directory
4 | #include <boost/accumulators/accumulators.hpp>

Ngôn ngữ chính
CMake
Star
119
Fork
37
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của boostorg/cmake

Tất cả issue của boostorg/cmake

Issue tương tự

Thêm issue về Build System

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.