CMake无法使用Android NDK
CMake fails with Android NDK
我正在尝试使用Android NDK独立工具链构建一些东西。但是,我遇到了这些错误。
CMake Warning at cmake/android.toolchain.cmake:387 (message):
Using value of obsolete variable ANDROID_NDK_TOOLCHAIN_ROOT as initial
value for ANDROID_STANDALONE_TOOLCHAIN. Please note, that
ANDROID_NDK_TOOLCHAIN_ROOT can be completely removed in future versions of
the toolchain.
Call Stack (most recent call first):
cmake/android.toolchain.cmake:476 (__INIT_VARIABLE)
/usr/local/Cellar/cmake/2.8.10.2/share/cmake/Modules/CMakeDetermineSystem.cmake:86 (include)
CMakeLists.txt:16 (PROJECT)
CMake Error at cmake/android.toolchain.cmake:412 (FILE):
file STRINGS file
"/Users/vgokhale/Desktop/android-ndk-r8e/sysroot/usr/include/android/api-level.h"
cannot be read.
Call Stack (most recent call first):
cmake/android.toolchain.cmake:548 (__DETECT_NATIVE_API_LEVEL)
/usr/local/Cellar/cmake/2.8.10.2/share/cmake/Modules/CMakeDetermineSystem.cmake:86 (include)
CMakeLists.txt:16 (PROJECT)
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER
CMake Error: Could not find cmake module file:/Users/vgokhale/Desktop/torch-android/src/build/CMakeFiles/2.8.10.2/CMakeCCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file:/Users/vgokhale/Desktop/torch-android/src/build/CMakeFiles/2.8.10.2/CMakeCXXCompiler.cmake
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
make: *** No rule to make target `install'. Stop.
有两组错误。我不知道从哪开始第一组。 android.toolchain。默认情况下,cmake文件查找sysroot,但Android没有安装在那里,谷歌也不要求我在那里安装。
关于CMAKE*变量,我发现大多数解决方案涉及安装开发人员工具,我已经有了。我尝试手动设置CXX和CC变量,但没有帮助。
我应该从哪里开始?
好的,我会在这里做一点猜测,但我认为你正在使用http://code.google.com/p/android-cmake/,你正在使用ANDROID_STANDALONE_TOOLCHAIN调用它,同时提供它到你的NDK的路径。如果我是对的,这就是问题所在。
你应该用ANDROID_NDK调用它,并提供你的NDK的路径。android-cmake文档建议这样做。
或
继续用ANDROID_STANDALONE_TOOLCHAIN调用它,但是提供给它安装的工具链的路径(用make-standalone-toolchain.sh创建的东西)
如果你想这样做,你可以在你安装的NDK的docs/standalone - toolchain .html中找到创建独立工具链的信息。
相关文章:
- Android NDK传感器向事件队列报告奇怪的间隔
- Android NDK 编译 LAME HAVE_MPGLIB > 'interface.h' 文件未找到
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- 在 constexpr 构造函数 (c++17) 中赋值到 const char * 在使用 Android NDK 时
- 如何在 android ndk 上链接 C 和 C++ 代码,以及 C 和 C++ 运行时库(包括 STL)?
- Android NDK 未定义对ASensorEventQueue_registerSensor的引用
- 如何将 libjpeg-turbo Android NDK 添加为静态库
- 在 Flutter 应用程序中使用 Android NDK 中的 AssetManager 类
- Android NDK - 无法在 Visual Studio 2017 中调试
- 不再支持Android NDK APP_STL gnustl_shared
- Android NDK:用于第三方Java库的静态或共享C++运行时
- 为 Android NDK 编译库
- 从文件问题加载纹理 Android NDK 和 OpenGL
- Android NDK - C++ 异常会导致第三方原生库崩溃
- 如何在 Android/NDK 上将命令行参数从 gradlew.bat 传递到 Clang
- [android ndk]如何获取资产文件夹中文件的绝对路径?
- Android NDK.Build命令失败.未定义的引用.clang++:错误:链接器命令失败,退出代码为1
- 如何在Android(NDK)中使用CPR库
- 使用 Android NDK 使用 clang++ 编译C++代码时对"_Unwind_Resume"的未定义引用
- 如何在 C/Android NDK 中将字符串日期转换为毫秒