Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • CMake CMake
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 4,107
    • Issues 4,107
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 19
    • Merge requests 19
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • CMakeCMake
  • CMakeCMake
  • Issues
  • #16954
Closed
Open
Issue created Jun 08, 2017 by Walter Gray@yeswalrusContributor

Android 32-bit compilation broken for standalone toolchain with unified headers

Using a standalone toolchain built from NDK-r14b using --arch arm --api 21 --stl libc++ --unified-headers and a toolchain file that makes use of CMakes Android platform support, compilation is broken.

Specifically, cmath reports a number of undefined symbols including abs, isdigit, and several others due to the order of the system search paths being incorrect. ${SYSROOT}/usr/include must come after ${TOOLCHAIN}/include/c++/...

The offending line appears to be Android-Common.cmake:159, where it adds ${CMAKE_SYSROOT}/usr/include to CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES. Removing this line resolves the problem, as does preemptively setting CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES to ${CMAKE_SYSROOT}/include/c++/4.9.0

Edited Jun 09, 2017 by Brad King
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking