Skip to content

Misc C++11 command line applications I've created for Android

Notifications You must be signed in to change notification settings

rLinks234/Android-Misc-Binutils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TODO - write brief readmes for (i) bmfwriter (ii) bmfinfo (iii) extdump

Notes:

1) CrystaX-NDK 10.3.1 or greater is required
	i)	CrystaX is REQUIRED since we will be using boost C++ libraries, which 
		do not easily compile with NDK bionic libraries. So unless you are willing
		to implement `wchar_t` functions and misc other missing pieces in libc, use
		CrystaX :)

2) GNU Make 3.81 (newer is fine, or just use Make that comes with NDK)

3) g++ 4.9 is recommended if compiling for Linux 
	i)	This is recommended since I ran into GCC 5.0 C++ STL ABI unresolved symbols 
		(C++11 changed container specs & GCC inlines a namespace for C++11 compliant code)
		with the boost 1.58 library that I had on my Ubuntu 16.04 machine

	ii) clang may work, but be certain to specify a GCC toolchain compliant with the 
		boost C++ ABI on your Linux machine.

	iii) More info regarding the GCC ABI change can be seen in the following link:
		https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html

4) Android device, capable of running executables

	i)	Both PIE (position independent executable) and non-PIE versions of binaries are made. 
		For *most* Android devices with API level greater than 15, you will need the PIE 
		binaries. All compiled executables suffixed with `_n` are NON-PIE executables, which
		may be used for older devices that cannot run PIE code.

	ii) On an Android L (API lvl = 21) device, it was found that linking executables with a
		shared version of the STL, e.g. `libc++_shared` would cause C++ exceptions to go
		uncaught, even within a try...catch block. Upon further testing, a defect may be filed
		with CrystaX, NDK, ld, or clang. Be cautious and use the llvm static version, `libc++_static`

About

Misc C++11 command line applications I've created for Android

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages