Сборка библиотеки (android NDK)

Ответить
MikeIV
Сообщения: 9
Зарегистрирован: 28 май 2013, 22:05

Сборка библиотеки (android NDK)

Сообщение MikeIV » 28 май 2013, 22:30

Не компилируется библиотека. Компилятор ругается на static std::wostream Str;. Пробовал std::ostream Str и всё равно тоже самое. Надеюсь на вашу помощь.

Компилирую под Linux (ubuntu)

main.cpp

Код: Выделить всё

#include <stdio.h>
#include <math.h>
#include <vector>
#include <iostream>

int main ()
{
	int A = 0;
	int B = 9;
	std::vector <int> C;


	static std::wostream Str;

	A = sqrt(9.0);

	for (int i = 0; i<10; i++) {
		C.push_back(i);
	}

	Str << "Текст\n";


	return 0;
}
Application.mk

Код: Выделить всё

APP_ABI := armeabi-v7a
APP_STL := stlport_static
STLPORT_FORCE_REBUILD := true
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
Android.mk

Код: Выделить всё

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE	:= main
LOCAL_SRC_FILES := main.cpp
LOCAL_LDLIBS	:= -llog

include $(BUILD_SHARED_LIBRARY)
p.s. Я только недавно начал изучать и писать под андройд... Так что сильно не бить за тупые вопросы :lol:

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Сборка библиотеки (android NDK)

Сообщение klblk » 29 май 2013, 09:17

Может быть проблема в NDK.
Попробуй: http://www.crystax.net/ru/android/ndk

MikeIV
Сообщения: 9
Зарегистрирован: 28 май 2013, 22:05

Re: Сборка библиотеки (android NDK)

Сообщение MikeIV » 29 май 2013, 19:40

тоже самое ((

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Сборка библиотеки (android NDK)

Сообщение klblk » 30 май 2013, 06:30

static std::wostream Str; - в этой строчки определенно проблема... в чём конкретно сказать не могу, так как знаю только основы с++. Стандартный gcc у меня его тоже не скомпилировал и выдал туже ошибку.

Собственно вот такая строчка компилируется без проблем:
std::wcout << "Текст\n";

http://svn.apache.org/repos/asf/stdcxx/ ... stream.cpp
тут есть пример использования:
std::wostream out (in.rdbuf ());

тобишь конструктор кушает некий in.rdbuf (). Что это такое я не знаю.
Надеюсь хоть чем-то в итоге помог)

MikeIV
Сообщения: 9
Зарегистрирован: 28 май 2013, 22:05

Re: Сборка библиотеки (android NDK)

Сообщение MikeIV » 30 май 2013, 22:50

klblk, большое спасибо за наводку! Сделал так:

Код: Выделить всё

#include <math.h>
#include <vector>
#include <iostream>
#include <sstream>

int main ()
{
	int A = 0;
	int B = 9;
	std::vector <int> C;

	static std::wistringstream in (std::wios::in | std::wios::out);

	std::wostream Str(in.rdbuf ());

	A = sqrt(9.0);

	for (int i = 0; i<10; i++) {
		C.push_back(i);
	}

	Str << "Текст\n";


	return 0;
}

Ответить