我已经阅读了几个与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
)
答案 0 :(得分:0)
link_directories
对find_library
个搜索路径的影响
您可以为find_library
使用 PATH 或 HINT 选项,或设置search algorithm中明确注明的变量。