set_target_properties( # Specifies the target library.
imported-lib
# Specifies the parameter you want to define.
PROPERTIES IMPORTED_LOCATION
# Provides the path to the library you want to import.
imported-lib/src/${ANDROID_ABI}/libimported-lib.so )
CMake を例に挙げます:
プリコンパイルされたライブラリはすでにビルドされているため、IMPORTED フラグを使用して、プロジェクトにインポートするだけでよいことを CMake に伝える必要があります。 リーリー
次に、以下のコードのように、set_target_properties()
コマンドを使用してライブラリへのパスを指定する必要があります。リーリー
set_target_properties()
命令去指定库的路径,就像下面的代码那样。为了让 CMake 在编译时期能找到你的头文件,你需要使用 include_directories() 命令,并且将你的头文件地址传进去:
在 CMake 构建脚本中使用
CMake ビルド スクリプトでtarget_link_libraries()
CMake がコンパイル中にヘッダー ファイルを見つけるには、 include_directories() コマンドを使用して、ヘッダー ファイルのアドレスを次のように渡す必要があります。 リーリーtarget_link_libraries()
コマンドを使用して、ビルド済みライブラリをローカル ライブラリに関連付けます。 リーリーAPP をビルドすると、Gradle はインポートされたライブラリを APK に自動的にパッケージ化します。 APK Analyzerを使用して確認できます。
ただし、ソース コードを入手できる場合は、特定のプラットフォームと互換性がない可能性があるため、.so にリンクすることはお勧めしません。たとえば、Linux プラットフォームでコンパイルされた .so ダイナミック ライブラリは、arm プラットフォーム (Android など) では実行できません。
参考:
Android Studio 2.2 で C/C++ を楽しんでください
汎用 ELF での再配置 (EM: 62) 間違った解決策