首页 > 解决方案 > android cmake未定义对libuv头文件中定义的属性的引用

问题描述

有一个为我的主机平台构建好的源代码(使用cmake)但是当我在同一个平台上定位android(使用android studio cmake)时,它给了我以下错误:

错误:错误:找不到-l [/root/libuv-1.x/out/cmake/libuv.a]

错误:错误:找不到-lpthread

错误:(49) 未定义对“uv_default_loop”的引用

错误:(84) 未定义对“uv_fs_open”的引用

错误:(49) 未定义对 'uv_now' 的引用 ...

对 uv 标头中定义的属性的任何引用都会创建对 x 错误的未定义引用。

这就是我在项目 cmake 中包含 uv 的方式:

set(UV_INCLUDE_DIR "[/root/libuv-1.x/include/]")
set(UV_LIBRARY "[/root/libuv-1.x/out/cmake/libuv.a]")
find_package(UV REQUIRED)
include_directories("/root/libuv-1.x/include/")
include_directories(${UV_INCLUDE_DIR})

这就是我在 cmake 中编译和链接源代码的方式:

add_library(proto-lib SHARED ${HEADERS} ${SOURCES} ${HTTPD_SOURCES})
target_link_libraries(proto-lib ${UV_LIBRARIES} ${EXTRA_LIBS})

libuv 似乎根本不包括在内。

我怎样才能解决这个问题?

标签: androidandroid-studiocmakeandroid-ndklibuv

解决方案


推荐阅读