Проект mFAST не может быть собран с помощью Mingw-w64 (ucrt64)C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Проект mFAST не может быть собран с помощью Mingw-w64 (ucrt64)

Сообщение Anonymous »


Я пытаюсь скомпилировать библиотеку mFAST в своей системе Windows 10.

Я использую VS Code в качестве IDE и компилятор GCC(ucrt64) из MSYS64 для сборки библиотеки.

Я установил boost с помощью pacman -S mingw-w64-ucrt-x86_64-boost, который установил все необходимые файлы в папку C:\msys64\ucrt64\include\boost.

Затем в подкаталоге сборки я запускаю cmake с помощью команды cmake .. -G "Unix Makefiles" -DBOOST_ROOT="C:\msys64\ucrt64\include\boost". Результат:

Идентификация компилятора CXX — GNU 13.2.0. Обнаружение информации ABI компилятора CXX Проверьте работу компилятора CXX: C:/msys64/ucrt64/bin/c++.exe — пропущено. Обнаружение функций компиляции CXX Обнаружение возможностей компиляции CXX — готово Найден Boost: C:/msys64/ucrt64/lib/cmake/Boost-1.83.0/BoostConfig.cmake (найдена подходящая версия «1.83.0», минимум — «1.56.0») CMAKE_COMMAND: C:/Program Files/CMake/bin/cmake.exe CMAKE_SYSTEM: Windows-10.0.19045 CMAKE_SYSTEM_PROCESSOR: AMD64 CMAKE_CXX_COMPILER: C:/msys64/ucrt64/bin/c++.exe CMAKE_CXX_FLAGS: CMAKE_BUILD_TYPE: Отладка BUILD_SHARED_LIBS: ВЫКЛ. BUILD_TESTS: ВКЛ. BUILD_EXAMPLES: ВКЛ. BUILD_PACKAGES: ВКЛ. -- Настройка завершена Генерация завершена Файлы сборки записаны в: D:/mFAST/build. После этого шага при запуске make я получаю следующие ошибки:

`D:/mFAST/src/mfast/decimal_ref.cpp:24:15: ошибка: идентификатор шаблона 'hash_combine' для 'void boost::hash_combine(long unsigned int&, const multiprecision::backends::cpp_dec_float::enum_fpclass_type&)' не соответствует ни одному объявлению шаблона 24 | шаблон void boost::hash_combine(unsigned long&, boost::multiprecision::backends::cpp_dec_float: :enum_fpclass_type const&); | ^~~~~ В файле, включенном из C:/msys64/ucrt64/include/boost/functional/hash.hpp:6, из D:/mFAST/src/mfast/decimal_ref.cpp:18: C:/msys64/ucrt64/include/boost/container_hash/hash.hpp:561:17: примечание: кандидат: 'template void boost::hash_combine(std::size_t&, const T&)' 561 | встроенный void hash_combine( std::size_t& семя, T const& v ) | ^~~~~~~~~~~~ D:/mFAST/src/mfast/decimal_ref.cpp:26:15: ошибка: идентификатор шаблона 'hash_combine' для 'void boost::hash_combine(long unsigned int&, const bool&)' не соответствует ни одному объявлению шаблона 26 | шаблон void boost::hash_combine(unsigned long&, bool const&); Я очень долго изучал это и обнаружил, что все необходимые файлы повышения (которые компилятор не может найти) доступны в C:\msys64\ucrt64\include\boost каталог.

При дальнейшем копании строка ошибки в файле C:/msys64/ucrt64/include/boost/functional/hash.hpp:6 равна #include , который присутствует в каталоге boost, но почему-то компилятор не может его найти.

Я пришел к выводу, который может быть очень ошибочным, что я не могу правильно настроить root/установку boost.

Если кто-то может помочь, мы будем очень признательны. Спасибо
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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