-
Notifications
You must be signed in to change notification settings - Fork 1
gujinku/HelloWorld_Using_Djinni
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Here is the djinni tutorial step by step. http://mobilecpptutorials.com/cross-platform-cplusplus-dev-setup-on-os-x-yosemite/ 1. The deps folder is generated by following commands: ———————————————————————————————————————————————————————————————————————————— git init git submodule add https://github.com/dropbox/djinni.git deps/djinni git submodule add https://chromium.googlesource.com/external/gyp.git deps/gyp We actually need an older version of GYP to build Android files. To do this, we need to cd into deps/gyp and specify a commit: cd deps/gyp git checkout -q 0bb67471bca068996e15b56738fa4824dfa19de0 ———————————————————————————————————————————————————————————————————————————— 2. Setup the Djinni file ———————————————————————————————————————————————————————————————————————————— (ProjectRoot)/helloworld.djinni hello_world = interface +c { static create(): hello_world; get_hello_world(): string; } ———————————————————————————————————————————————————————————————————————————— 3. Create the Djinni Shell Script ———————————————————————————————————————————————————————————————————————————— #! /usr/bin/env bash base_dir=$(cd "`dirname "0"`" && pwd) cpp_out="$base_dir/generated-src/cpp" jni_out="$base_dir/generated-src/jni" objc_out="$base_dir/generated-src/objc" java_out="$base_dir/generated-src/java/com/mycompany/helloworld" java_package="com.mycompany.helloworld" namespace="helloworld" objc_prefix="HW" djinni_file="helloworld.djinni" deps/djinni/src/run \ --java-out $java_out \ --java-package $java_package \ --ident-java-field mFooBar \ \ --cpp-out $cpp_out \ --cpp-namespace $namespace \ \ --jni-out $jni_out \ --ident-jni-class NativeFooBar \ --ident-jni-file NativeFooBar \ \ --objc-out $objc_out \ --objc-type-prefix $objc_prefix \ \ --objcpp-out $objc_out \ \ --idl $djinni_file ———————————————————————————————————————————————————————————————————————————— 4. Run the above script ———————————————————————————————————————————————————————————————————————————— sh ./run_djinni.sh Building Djinni... [info] Loading project definition from /Users/albert.gu/Desktop/Work/Test/Djinni_Demo/deps/djinni/src/project [info] Updating {file:/Users/albert.gu/Desktop/Work/Test/Djinni_Demo/deps/djinni/src/project/}src-build... [info] Resolving org.fusesource.jansi#jansi;1.4 ... [info] Done updating. [info] Set current project to src (in build file:/Users/albert.gu/Desktop/Work/Test/Djinni_Demo/deps/djinni/src/) [info] Updating {file:/Users/albert.gu/Desktop/Work/Test/Djinni_Demo/deps/djinni/src/}src... [info] Resolving jline#jline;2.11 ... [info] Done updating. [info] Compiling 21 Scala sources to /Users/albert.gu/Desktop/Work/Test/Djinni_Demo/deps/djinni/src/target/scala-2.11/classes... [success] Total time: 20 s, completed Aug 2, 2016 4:55:22 PM [info] Wrote start script for mainClass := Some(djinni.Main) to /Users/albert.gu/Desktop/Work/Test/Djinni_Demo/deps/djinni/src/target/start [success] Total time: 0 s, completed Aug 2, 2016 4:55:23 PM Parsing... Resolving... Generating... ———————————————————————————————————————————————————————————————————————————— 5. Write Our C++ ‘Back-end’ Code ————————————————————————————————————————————————————————————————————————————
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published