1
です。私はJNIをc/C++コードを使って編集しますが、別のlib.aを使ってc/C++コードを編集するとどうすればCMakeList.txtを編集できますか?enter image description hereアンドロイドスタジオではc/C++をビルドするためにJNIを使用していますが、C/C++では別のlib.aが必要ですが、解決方法はアンドロイドスタジオについて
これはプロジェクトを作るとき私のCMakeList.txt です。それはについて言う "/../../mips64el-linux-android/bin\ld:-lwebsockets見つけることができない"
cmake_minimum_required(VERSION 3.4.1)
aux_source_directory(src/main/cpp/android_src/common FILE_COMMON)
aux_source_directory(src/main/cpp/android_src FILE_SRC)
aux_source_directory(src/main/cpp/ FILE_CPP)
SET(ALL_FILE ${FILE_CPP} ${FILE_SRC} ${FILE_CPP})
INCLUDE_DIRECTORIES(src/main/cpp/cpp_include)
#LINK_DIRECTORIES(src/main/cpp/cpp_lib)
add_library(websockets STATIC IMPORTED)
set_target_properties(websockets PROPERTIES IMPORTED_LOCATION src/main/cpp/cpp_lib/libwebsockets.a)
add_library(# Sets the name of the library.
#native-lib
SkylightWebSocket
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
#src/main/cpp/native-lib.cpp
${ALL_FILE})
find_library(# Sets the name of the path variable.
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
log)
target_link_libraries(# Specifies the target library.
#native-lib
SkylightWebSocket
# Links the target library to the log library
# included in the NDK.
libwebsockets.a ${log-lib})
ありがとうございました!しかし、それは動作しませんでした。新しいエラーがあります:エラー: 'src/main/cpp/cpp_lib/libwebsockets.a'、 '../../../../build/intermediates/cmake/debug/obj/mips64/libSkylightWebSocket'に必要です。 .so '、行方不明、それを作る既知のルールなし –
ありがとう!しかし、それは動作しませんでした。新しいエラーがあります: {エラー: 'src/main/cpp/cpp_lib/libwebsockets.a'、 '../../../../build/intermediates/cmake/debug/obj/mips64'に必要です。 /libSkylightWebSocket.so '、欠けているルールはありません}しかし、libwebsockts.aは作成する必要はありません。すでに静的なlib(libwebsockets.a)です。何か間違っていますか? –
**あなたはあなたの** abiFilters **を調整する必要があります。事前ビルドされたライブラリがサポートしているABIを確認してください。 libwebsockets.aファイルに関しては、それを探してパスを修正してください。 '知られていないルールは、あなたが提供したパスが間違っていることを意味します。 –