Question about strange Android behavior

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Question about strange Android behavior

Jim Borden

I’m not sure what the state of Android support is (there is the documentation on the CMake page, and then there is the documentation on the Android page which is different) but I wanted to point out a weird difference in behavior between CMake 3.7.2 and CMake 3.8.2 and ask about it.

 

My project compiles fine with CMake 3.7.2, but when I use 3.8.2 I get compiler errors to the tune of:

 

error: use of undeclared identifier 'UINT64_MAX' (and other such nonsense about similar types)

 

My invocation of CMake is as follows:

 

cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=16 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_STL_TYPE=c++_static

 

Does anyone know why this would happen?

Jim Borden
Software Engineer

hbase Logo

[hidden email]


--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question about strange Android behavior

Christopher Broadbent
We hit this on android too, and moved across to using std::numeric_limits in our code. The root cause for us was
differences between the C standard libraries on android, and the one we were running on Linux.

https://stackoverflow.com/questions/986426/what-do-stdc-limit-macros-and-stdc-constant-macros-mean might give
you a fix. To investigate, I'd want to run both builds with "make VERBOSE=1" and compare the commands that cmake
is generating for the failing files, just in case there is something more severe happening behind the scenes.

On 30/06/2017 09:13, Jim Borden wrote:

I’m not sure what the state of Android support is (there is the documentation on the CMake page, and then there is the documentation on the Android page which is different) but I wanted to point out a weird difference in behavior between CMake 3.7.2 and CMake 3.8.2 and ask about it.

 

My project compiles fine with CMake 3.7.2, but when I use 3.8.2 I get compiler errors to the tune of:

 

error: use of undeclared identifier 'UINT64_MAX' (and other such nonsense about similar types)

 

My invocation of CMake is as follows:

 

cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=16 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_STL_TYPE=c++_static

 

Does anyone know why this would happen?

Jim Borden
Software Engineer

hbase Logo

[hidden email]





--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Question about strange Android behavior

Jim Borden

Thanks for that, adding the define mentioned in the answer (__STDC_LIMIT_MACROS) solved the issue!  Now at least I know there is an easy fix, and I can look into other things as well.

 

Jim Borden
Software Engineer

hbase Logo

[hidden email]

 

From: CMake <[hidden email]> on behalf of Christopher Broadbent <[hidden email]>
Date: Friday, June 30, 2017 8:36
To: "[hidden email]" <[hidden email]>
Subject: Re: [CMake] Question about strange Android behavior

 

We hit this on android too, and moved across to using std::numeric_limits in our code. The root cause for us was
differences between the C standard libraries on android, and the one we were running on Linux.

https://stackoverflow.com/questions/986426/what-do-stdc-limit-macros-and-stdc-constant-macros-mean might give
you a fix. To investigate, I'd want to run both builds with "make VERBOSE=1" and compare the commands that cmake
is generating for the failing files, just in case there is something more severe happening behind the scenes.

On 30/06/2017 09:13, Jim Borden wrote:

I’m not sure what the state of Android support is (there is the documentation on the CMake page, and then there is the documentation on the Android page which is different) but I wanted to point out a weird difference in behavior between CMake 3.7.2 and CMake 3.8.2 and ask about it.

 

My project compiles fine with CMake 3.7.2, but when I use 3.8.2 I get compiler errors to the tune of:

 

error: use of undeclared identifier 'UINT64_MAX' (and other such nonsense about similar types)

 

My invocation of CMake is as follows:

 

cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=16 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_STL_TYPE=c++_static

 

Does anyone know why this would happen?

Jim Borden
Software Engineer

base Logo

[hidden email]



 


--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
Loading...