Я пытаюсь создать собственный проект Android, для которого требуется библиотека Boost. Я создал Boost для платформ, на которые нацеливаюсь, используя этот git проект . Но по какой-то причине find_package () для Boost не может найти пути заголовка Boost
Ниже приведена структура проекта и приложения Android, а также место, где я разместил библиотеку Boost.
android_app
├── src
│ └──<folder>
│ └──<folder>
│ └──CMakeLists.txt
└── lib
└── boost_armeabi-v7a
├── include
│ └── boost_1_68_0
│ └──boost
│ ├──align.hpp
│ ├──......
│ └──config.hpp
└── lib
├──libboost_atomic.a
├──......
└──libboost_wserialization.a
В файле CMake, который я настроил следующим образом
set(Boost_NO_SYSTEM_PATHS ON)
set(Boost_NO_BOOST_CMAKE ON)
set(LOCAL_LIB_DIR "${PROJECT_SOURCE_DIR}/../../../lib")
set(Boost_ADDITIONAL_VERSIONS "1.68.0")
set(BOOST_INCLUDEDIR "${LOCAL_LIB_DIR}/boost_${ANDROID_ABI}/include")
set(BOOST_LIBRARYDIR "${LOCAL_LIB_DIR}/boost_${ANDROID_ABI}/lib")
find_package(Boost REQUIRED)
Ниже приведена ошибка, которую я получаю при find_package
.
Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.
Я добавил несколько операторов сообщений и, наконец, суженный до этого фрагмента кода в файле FindBoost CMake (3.10.2), установленном из Android Studio
find_path(Boost_INCLUDE_DIR
NAMES boost/config.hpp
HINTS ${_boost_INCLUDE_SEARCH_DIRS}
PATH_SUFFIXES ${_boost_PATH_SUFFIXES}
)
Сбрасывая туда переменные, одна из комбинаций для {_boost_INCLUDE_SEARCH_DIRS}/{_boost_PATH_SUFFIXES}
должна быть допустимой для моего пути , но после этого Boost_INCLUDE_DIR
устанавливается как NOTFOUND
. Я понятия не имею, почему это не получается.
Одно из значений _boost_INCLUDE_SEARCH_DIRS
равно /home/<user>/<path-to-repo>/app/lib/boost_armeabi-v7a/include
, а одно из значений в PATH_SUFFIXES
равно boost_1_68_0
. Может кто-нибудь помочь мне понять, почему это не удается?