CMakeがライブラリを見つけられず、理由がわかりません。あるCMakeの出力のCMake find_libraryがライブラリを見つけることに失敗しています
set(SODIUM_DIR ${PROJECT_SOURCE_DIR}/../../../deps/install/libsodium/android-${ANDROID_ABI}/lib)
message(STATUS SODIUM_DIR=${SODIUM_DIR})
find_library(sodium-lib
libsodium.a
PATHS ${SODIUM_DIR}
NO_DEFAULT_PATH)
パート:SODIUM_DIRライブラリが存在することを示している上、「LS」を実行
-- SODIUM_DIR=/Users/csimmons/Documents/repos/onedoclily/client/Android/app/../../../deps/install/libsodium/android-armeabi-v7a/lib
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
-- Configuring incomplete, errors occurred!
Please set them or make sure they are set and tested correctly in the CMake files:
See also "/Users/csimmons/Documents/repos/onedoclily/client/Android/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/CMakeOutput.log".
sodium-lib
linked by target "native-lib" in directory /Users/csimmons/Documents/repos/onedoclily/client/Android/app
Build command failed.
これは、ライブラリを見つけることになっている私のCMakeLists.txtの一部です:
$ ls /Users/csimmons/Documents/repos/onedoclily/client/Android/app/../../../deps/install/libsodium/android-armeabi-v7a/lib
libsodium.a libsodium.la libsodium.so pkgconfig
ライブラリのアーキテクチャとは何ですか? (ヒント: 'file libsodium.a')。あなたのホストのアーキテクチャは何ですか?クロスコンパイルしていますか? 'foo'プラットフォーム用にコンパイルしようとしていても、ライブラリが' bar'プラットフォーム用にビルドされている場合、ライブラリが正しいパスに入っていても、このエラーは本当に起こります。 – thiagowfx
これにリンクするライブラリとバイナリは、どちらもAndroidとarmeabi-v7a向けにビルドされています。 –