-
Notifications
You must be signed in to change notification settings - Fork 516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problems with "arm64-v8a" and "x86_64" on Android on bind method #186
Comments
Hi, yes I see what the problem is; int64_t is defined differently by compilers, sometimes as a typedef to long long (where long is only 32 bits), but sometimes only as a long, long (where long is 64 bits) and sometimes with recent compiler as a type of it's own => you might have to use precompiler #idfdef to try to define a new bind() method dedicated to this new int64_t type. |
Yes, that's exactly what I was talking about. The problem is there is already some code to deal with that
but the #ifdef is probably not working on your platform (Android) because there the it's a new variant that would need a new #if else |
I would love to help more but I am already quite overloaded at my day work nowadays, and I won't be able to reproduce what you see easily ;
The ambiguity comes from the fact that you have a multiple definitions of bind() that could match int64 (long and long long) so just remove the second one |
For the clean solution I would like to now if you are in the #id defined LP64 branch |
Hi, How I can change source code if I’m in conan. Conan download source and compile automatic. I will check the define. |
Hi, yes. LP64 is enable for all 64bits. Because this i only have problems with arm64-v8a and x86_64.
Can you help me solve it? |
I will try to fix this this morning |
I am unable to reproduce, I would like to get the full error logs from your project if possible |
Thanks man. Im using it with conan. Only this dependency is left fix to finish this and publish to github. I will put here the full log now. 1min. |
FULL LOG:
|
Also, I am pretty sure that there should be a' online compiler that support Android ; never thought about it (I am using Travis-ci to compile for Linux) Do you know anything about an easy way to try to compile a short source code online or in CI for Android? (I am not able to really dig into this myself right now) |
Im creating a sample and publishing it to github. |
Hi, I have tested now: It is a simple repository to test. But i detect that master version is compiling but 2.2.0 tag no. My repository is with version 2.2.0 as described in README. If you run "build-android.sh" you will get the problem. |
Great, thank you, I am currently looking into it. But if I understand well what you are saying, if I release a new version of SQLiteCpp you could simply switch to it and have your app compiling! True? |
Ah yes, I fixed the issue one year ago: Commit a41629f by Sébastien Rombauts, 23/02/2018 08:07
|
Ok. But can you launch a new version with this fixes? Thanks. |
Yes, that's what I was proposing two comments before :) I have been making some cleanup, and I need to go through opened issues, but I should be able to release SQLiteCpp 2.3.0 on tomorrow |
Ok, thanks. I’m waiting for this to release my project too. |
Only post here when you release to I’m be notified. |
Fixed by Fix #155 Statement::bind truncates long integer to 32 bits on x86_64 |
Happy to have finally released the 2.3.0 version of SQLiteCpp! Cheers! |
Hi,
Im compiling a program in archs win64, macos64, all ios archs and all android archs.
But only on Android NDK 18 "arm64-v8a" and "x86_64" i get problem:
My method is simple:
I cannot change from "int64_t" because it is used by djinni to generate all "i64" types.
Can you help me? Im need it to publish new version of my library.
Thanks.
FULL LOG
The text was updated successfully, but these errors were encountered: