【发布时间】:2017-02-24 13:18:52
【问题描述】:
我正在使用 Android CMake 工具链将 CMake C 和 C++ 游戏移植到 Android。
项目的库依赖项存储在PROJECTDIR/android_dependencies 中,我已将以下代码添加到 CMake 文件中以使用它们(我检查了目录和文件是否存在)。
set(CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}/android_dependencies/${ANDROID_ABI}")
但是我的项目还是说找不到像 OpenAL 这样的依赖(所有的库都被复制了)。
如果我将库复制到$NDK/platforms/android-9/usr/lib 并将文件包含到$NDK/platforms/android-9/usr/include,则项目编译正确。
我做错了什么?
我使用的是 Ubuntu 16.04 64 位
【问题讨论】:
-
您使用哪个确切工具链?看起来它将 CMAKE_FIND_ROOT_PATH_MODE_LIBRARY 设置为
ONLY,因此所有库搜索路径都由 sysroot 前置。 -
$NDK/build/cmake/Android.toolchin.cmake 中的那个。我使用 Android Studio SDK Manager 下载了 NDK 和 CMake(对于 NDK,我从 Kitware 网站安装了另一个)
-
@Tsyvarev 我在 CMake 文件中将 CMAKE_FIND_ROOT_PATH_MODE_LIBRARY 和 CMAKE_FIND_ROOT_PATH_MODE_INCLUDE 设置为两者,现在它可以工作了。您可以添加您的评论作为答案吗
-
不幸的是我没用
-
@Nimitz14 CMake 版本?
标签: android c++ c android-ndk cmake