【问题标题】:Integrate CLion and Android NDK集成 CLion 和 Android NDK
【发布时间】:2016-05-13 19:27:01
【问题描述】:

最近我发现了 CLion。我正在尝试将其配置为与 Android ndk 一起使用:

  1. 我希望它使用 ndk 源和标头。

  2. 我希望它在 ndk 中使用 gcc 和 g++ 编译器。

  3. 我希望它使用我的 makefile 而不是 cmake。

无法实现这三个目标,希望您能帮助我:)。

顺便说一句,如果重要的话,我正在使用 android ndk r10e。

【问题讨论】:

标签: gcc android-ndk g++ clion


【解决方案1】:

您可以通过执行以下操作将 CLion 设置为为 android 构建:

  1. 安装 NDK 独立工具链 (https://developer.android.com/ndk/guides/standalone_toolchain.html)

  2. 在 CLion Preference/Settings 下 Build, Execution, Deployment > Toolchains 下,为 ARM 添加新的工具链,将 C 编译器路径设置为 $NDK_TOOLCHAIN_PATH/arm/bin/arm-linux-androideabi-clang,设置 C++ 编译器路径到 $NDK_TOOLCHAIN_PATH/arm/bin/arm-linux-androideabi-clang++,如果你在 Windows 上,设置 MinGW 路径。工具链选项卡是 Clion 的一项相当新的功能,因此请确保您拥有最新版本的 Clion。

  3. 对您想要支持的任何其他架构重复第 2 步

  4. 转到构建、执行、部署 > CMake。为 ARM 添加新的配置文件。将工具链设置为 ARM 工具链并将 CMake 选项设置为

-DCMAKE_CXX_FLAGS="-fPIE -fPIC -lstdc++"

-DCMAKE_AR="$NDK_TOOLCHAIN_PATH/arm/bin/arm-linux-androideabi-ar"

-DCMAKE_RANLIB="$NDK_TOOLCHAIN_PATH/arm/bin/arm-linux-androideabi-ranlib"

如果你使用的是 Mac,你也需要这些来告诉 CMake 不要使用 isysroot 选项

-DCMAKE_OSX_SYSROOT="/"

-DCMAKE_OSX_DEPLOYMENT_TARGET=""

  1. 对您想要支持的任何其他架构重复第 4 步

在构建时,将配置文件设置为您想要的架构(而不是调试/发布)。

理想情况下,您可以通过 CLion 而不是使用 CMake 选项指定整个工具链(ar、ranlib 等),但我还没有找到这样做的方法。

【讨论】:

  • 在 Preferences/Settings > Build, Execution, Deployment > Toolchains 中,您应该会看到一个“+”按钮来添加新的工具链。单击“+”按钮并调用新工具链“ARM”。
  • 当我单击“+”按钮时,我看不到 ARM 选项。 CLion 2020.2.4 Build #CL-202.7660.37,构建于 2020 年 10 月 7 日运行时版本:11.0.8+10-b944.34 amd64
【解决方案2】:

CLion 只能用于 CMake 项目。在这个阶段其他人是不可能的。 但是,您可以使用 Android Studio。它包括基于 CLion 的 C++ 支持,并且可以很好地与 ndk 配合使用。

【讨论】:

  • 那么显然你没有花太多时间在 Android Studio 上。除了最琐碎的 NDK 项目之外,仍然无法处理任何事情。
猜你喜欢
  • 2014-03-31
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 2016-08-01
  • 2015-11-27
相关资源
最近更新 更多