没有找到.so库

时间:2016-10-28 19:26:30

标签: android-studio linker cmake

我已经阅读了几个与CMake包含.so库的线程(和文档),但在我看来,我已经陷入了我所读过的错误,即:< / p>

  • 提供错误的库名称
  • 指定错误的路径

那我在做什么呢?我在Android Studio工作,我的app目录中有一个cmake文件。它可以找到一些东西,但不能找到有问题的.so文件,其路径是:

app/src/main/cpp/libusb-android-open2/android/libs/armeabi/libusb1.0.so

这是我的cmake文件:

# This succeeds
add_library( demo-libusb SHARED src/main/cpp/demo-libusb.cpp )

# This succeeds
find_library( log-lib log )
if (log-lib)
    message(WARNING "HAS loglib") # This message gets printed
else(log-lib)
    message(SEND_ERROR "NO loglib")
endif(log-lib)

# This fails
link_directories( src/main/cpp/libusb-android-open2/android/libs/armeabi )
find_library( usb-lib NAMES usb1.0 libusb1.0.so )
if ( usb-lib )
    message(WARNING "HAS libusb")
else( usb-lib )
    message(SEND_ERROR "NO libusb") # This message gets printed
endif( usb-lib )

我也尝试过:

find_library( usb-lib NAMES libusb1.0.so usb1.0 PATHS 
    src/main/cpp/libusb-android-open2/android/libs/armeabi
    src/main/cpp/libusb-android-open2/android/libs/armeabi-v7a
)

1 个答案:

答案 0 :(得分:0)

link_directories find_library个搜索路径的影响

您可以为find_library使用 PATH HINT 选项,或设置search algorithm中明确注明的变量。