Android JNI распечатать int64_t в файл

Я пытаюсь использовать код JNI для печати временных меток датчика Android в файл.

Временные метки определяется как int64_t,

Строка для печати метки времени:

fout<<timestamp<<std::endl;

Где fout — поток открытых файлов в режиме вывода.

Когда я пытаюсь скомпилировать, возникает следующая ошибка:

неоднозначная перегрузка для оператора<<‘(типы операндов’ std :: ofstream {aka std :: basic_ofstream>} ‘и’ int64_t {aka long long int} ‘)

Я думал, что сделаю MWE для этого, используя стандартный C ++:

#include <iostream>
#include <cstdint>

int main(){
int64_t a;
std::cin>>a;
std::cout<<a<<std::endl;
}

Но это компилируется без проблем, что заставляет меня думать, что проблема в том, как Eclipse компилирует код.

Я внутри Затмения 3.8.1. Мой компилятор по умолчанию — GCC 4.9.2.

0

Решение

Я решил эту проблему, зайдя в jni/Application.mk и используя эту строку:

LOCAL_CPPFLAGS += -std=gnu++11

вместо этой строки:

LOCAL_CPPFLAGS+=-std=c++11.

Некоторые предполагают, что проблема связана с различными отображениями long long int в стлпорте.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]