Ich habe Quellcode / lib in C ++ geschrieben - jetzt möchte ich das gleiche im Android NDK Projekt (NDK 6) kompilieren und verwenden. Ich bin in der Lage, die meisten C ++ - Dateien mit Ausnahme der "std :: wstring" -basierten Funktionalität zu kompilieren.
In Application.mk, wenn ich APP_STL: = stlport_static
anschließe, kompiliert es std::wstring
basierten Code, aber wenn ich APP_STL: = gnustl_static
spezifiziere, kann es nicht kompiliert werden. Ich weiß nicht, wie std::wstring
zusammenhängendes Problem mit APP_STL: = gnustl_static
Jeder Zeiger oder jede Hilfe dazu würde sehr geschätzt werden.
Eine sehr ähnliche Frage wurde bereits gestellt: android-ndk gnustl_static exe nicht arbeiten überlegen, diese Frage zu betrachten und zu testen, ob eine dieser Antworten funktioniert.
Als ich genau dieses Problem traf, sah ich die allgemeine Verachtung für wchar_t
und entschied mich, es nicht mehr zu benutzen. So wurde std::wstring
zu std::basic_string<uint_32>
. Ich musste auch einige Zeichenfolgenliterale überarbeiten. Es ist keine ideale Lösung, aber es berücksichtigt alle zukünftigen Portabilitätsprobleme.
Tags und Links android c++ android-ndk wstring