android cmake so路径,CMake没有找到.so库

我已经阅读了关于使用CMake包含.so库的几个主题(和文档),但是在我看来,我并没有看到我已经读过的错误,即:CMake没有找到.so库

提供了不正确的库名

指定一个不正确的路径

那我有毛病做什么?我在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

您已阅读本文[CMake wiki文章](https://cmake.org/Wiki/CMake:How_To_Find_Libraries#Using_external_libraries_that_CMake_doesn.27t_yet_have_modules_for),不是吗? –

+0

@ agg3l:我已经看到了,但也许你可以澄清一点,因为我不清楚如何继续?首先,我不是在使用一个包,而是使用'.so'文件,我必须自己进行交叉编译。第二,你能告诉我“LibXML ++ _ LIBRARIES”的含义是什么吗?它应该是一个目录吗? '.so'文件的列表? –

+0

find_library是否使用PATH的绝对值? –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值