libtest-lib.soというコンパイル済みの共有ライブラリファイルをリンクしようとしています。これは私が私のCMakeLists.txtの一番下に持っているものです。CMakeと共有ライブラリをリンクする
上記のようにlink_directories("/projectspath/LinkTest/TestLib/app/build/intermediates/cmake/debug/obj/armeabi-v7a")
add_library(testlib libtest-lib.so)
target_link_libraries(testlib libtest-lib.so)
、私は次のエラーを取得する:
CMake Error at CMakeLists.txt:49 (add_library):
Cannot find source file:
libtest-lib.so
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx
CMake Error: CMake can not determine linker language for target: testlib
私はadd_library行をコメントアウトした場合、私は以下のようになります。
CMake Error at CMakeLists.txt:51 (target_link_libraries):
Cannot specify link libraries for target "testlib" which is not built by this project.
ライブラリにリンクするときは、ソースファイル(.c、cppなど)が絶対に必要になると思われます。しかし、どうやって.soファイルにリンクするのですか?ドキュメントでは、target_link_libraries()について次のように述べています。
名前は、add_executable()やadd_library()などのコマンドでカレントディレクトリに作成されている必要があります。
add_library()をadd_executable()に置き換えると、同じエラーが発生します。 CMakeで.soファイルをリンクする正しい方法は何ですか?
しかし、私はドンソースはありません。全体のポイントは、あらかじめコンパイルされた.soファイルをリンクすることです。 –
?あなたはライブラリを何にリンクしたいのですか?何もない? – fedepad