tr1/function in Native Code

  • Hallo,


    ich habe hier ein kleines Problem (oder auch größer). Ich möchte gerne meine C++ Sourcecode in eine Android App verwenden. Soweit alles gut, das mit den NDK klappt recht gut.


    Ich benutze folgende Funktion die sich aber vom Compiler nicht übersetzen lässt.
    Ihm fehlt "tr1/functional"



    Wie kann ich den Compiler überreden das er das schluckt. Hat jemand damit schon gearbeitet.
    Oder wie kann ich das umschreiben, ich muss von außen einen Zeiger einer Funktion in die Klasse ablegen (function<unsigned char(unsigned short)> *ReadProcTbl; ). Die Klasse kann dann intern auf diese Funktion zugreifen.


    Ich benutze Eclipse mit ADT.


    MfG Thorsten

  • Habe die Lösung gefunden ...


    Für alle die das auch mal brauchen hier die Lösung.

    Zitat

    This directory contains the headers and prebuilt binaries for the GNU libstdc++-v3 C++ Standard Template Library implementation.
    These are generated from the toolchain sources by the rebuild-all-prebuilt.sh script under build/tools.


    To use it, define APP_STL to 'gnustl_static' in your Application.mk.
    See docs/CPLUSPLUS-SUPPORT.html for more details.


    This implementation fully supports C++ exceptions and RTTI.

    Also "Application.mk" im jni Verzeichnis ertsellt. Dort folgendes eingetragen ...


    APP_STL := gnustl_static


    Und voila, nu findet er die tr1/functional [Blockierte Grafik: http://www.android-hilfe.de/images/smilies/extra/w00t.gif]


    MfG Thorsten

  • Hallo,
    ich habe hier ein kleines Problem (oder auch größer). Ich möchte gerne meine C++ Sourcecode in eine Android App verwenden.


    Ich habe für mich feststellen müssen, dass die Dokumentation bezüglich des NDK Recht hat: im Allgemeinen braucht man es nicht, im Allgemeinen ist es hinderlich, im Allgemeinen fährt man mit der API besser.


    Ich hoffe, in Deinem Fall ist der Aufwand mit dem NDK sinnvoll.
    (Nein, 'Ich habe wiederverwendbaren C++ Code!' ist auf Grund des Overheads der Javabridge keine sinnvolle Anwendung für das NDK)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • In meinem Fall macht es richtig Sinn. Die Javabride wird in meinem Fall nur am Anfnag kurz benutzt um in den Nativ Code zu gelangen. Dann läuft das ganze via OpenGL und OpenSL für sich alleine. Also keine lahmen Javabridges. Es handelt sich hier in meinem Fall um einen Emulator der Lowlevel läuft. Also da bringt der NativeCode dann doch einiges an Performance ...


    MfG Thorsten

  • Bei OpenGL bin ich auch der Meinung, dass es in der Java API ähnlich gut aufgehoben wäre.
    Bezüglich OpenSL bin ich allerdings ganz bei Dir. :)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!