Use fseek/ftell on Android when api level < 24 #973
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Android only supports fseeko+ftello (and their 64-bit versions) for API level 24 and above.
Tested using:
cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=~/Library/Android/sdk/ndk/26.0.10792818/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-22 .
cmake --build build
Failed with:
tinyxml2/tinyxml2.cpp:2380:5: error: use of undeclared identifier 'fseeko'; did you mean 'fseek'?
.../Library/Android/sdk/ndk/26.0.10792818/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/stdio.h:215:5: note: 'fseek' declared here
tinyxml2/tinyxml2.cpp:2390:44: error: use of undeclared identifier 'ftello'; did you mean 'ftell'?
.../Library/Android/sdk/ndk/26.0.10792818/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/stdio.h:216:6: note: 'ftell' declared here