Используйте Quadmath и boost::multiprecision с помощью CMakeC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Используйте Quadmath и boost::multiprecision с помощью CMake

Сообщение Anonymous »

Я начал писать проект на основе CMake и установил библиотеку boost и Quadmath, используя Arch Linux и GCC.
Когда я использую:

Код: Выделить всё

#include 
Выдается ошибка, что «quadmath.h» не найден.
Но он определенно присутствует в моей системе в /usr/lib/gcc/x86_64-pc-linux -gnu/14.2.1/include.
Я пытался написать свой собственный FindQuadmath.cmake со следующим содержимым:

Код: Выделить всё

include(FindPackageHandleStandardArgs)

include_directories("/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include")

find_path(Quadmath_INCLUDE_DIR NAMES quadmath.h
PATHS "/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include")
find_library(Quadmath_LIBRARY NAMES quadmath)

message("Quadmath_INCLUDE_DIR: ${Quadmath_INCLUDE_DIR}")
message("Quadmath_LIBRARY: ${Quadmath_LIBRARY}")

add_library(Quadmath SHARED IMPORTED ${Quadmath_LIBRARY})
target_include_directories(Quadmath INTERFACE ${Quadmath_INCLUDE_DIR})

set_property(TARGET Quadmath PROPERTY IMPORTED_LOCATION ${Quadmath_LIBRARY})
set_property(TARGET Quadmath PROPERTY INCLUDE_DIRECTORIES ${Quadmath_INCLUDE_DIR})

find_package_handle_standard_args(Quadmath DEFAULT_MSG Quadmath_LIBRARY Quadmath_INCLUDE_DIR)
В Cmake верхнего уровня я включаю этот FindQuadmath.
Текущая структура проекта:

Код: Выделить всё

├── cmake
│   └── FindQuadmath.cmake
├── CMakeLists.txt
├── conanfile.txt
├── conan_profiles
│   └── phd
├── README.md
├── requirements.txt
├── solvers
│   ├── CMakeLists.txt
│   └── heat_transfer_explicit_scheme
│       ├── CMakeLists.txt
│       ├── include
│       │   └── heat_transfer_explicit_scheme.hpp
│       └── src
│           └── heat_transfer_explicit_scheme.cpp
└── tests

Код: Выделить всё

cmake_minimum_required(VERSION 3.30)

project(phd_project CXX)

include(cmake/FindQuadmath.cmake)

find_package(Boost REQUIRED)

add_subdirectory(solvers/)
Ни я, ни boost не можем найти такие заголовки, как и другие, из этой библиотеки.
Как мне это сделать? исправить это и связать Quadmath с CMake?

Подробнее здесь: https://stackoverflow.com/questions/790 ... with-cmake
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как использовать Boost Multiprecision в проекте CMake?
    Anonymous » » в форуме C++
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Неопределенные ссылки на функции mpfr_*() при попытке использовать Boost Multiprecision в проекте CMake?
    Anonymous » » в форуме C++
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Неопределенные ссылки на функции mpfr_*() при попытке использовать Boost Multiprecision в проекте CMake?
    Anonymous » » в форуме C++
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Проблема boost::multiprecision::powm с большими целыми числами
    Anonymous » » в форуме C++
    0 Ответы
    67 Просмотры
    Последнее сообщение Anonymous
  • C ++ String to Boost :: Multiprecision :: CPP_INT
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»