代码拉取完成,页面将自动刷新
本工程使用cmake做为项目管理,以utf8做为代码格式(所以在window上,vs2015以下的版本编译前,先要做格式转换).
使用git将下载本工程代码(如果这步不会,也可以直接下载zip代码:https://github.com/yuangu/sxtwl_cpp/archive/master.zip) git clone https://github.com/yuangu/sxtwl_cpp.git
$ mkdir build
$ cd build
$ cmake .. -DSXTWL_BUILD_EXAMPLES=1
$ cmake --build .
注:
语言 | 宏参数 | 说明 |
---|---|---|
lua | SXTWL_WRAPPER_LUA | |
python | SXTWL_WRAPPER_PYTHON | |
C# | SXTWL_WRAPPER_CSHARP | |
php5 | SXTWL_WRAPPER_PHP5 | php5 已放弃支持 |
php7 | SXTWL_WRAPPER_PHP5 | php7 |
java | SXTWL_WRAPPER_JAVA | 如果在android中使用,请在externalNativeBuild 下的cmake加上 arguments "-DSXTWL_WRAPPER_JAVA=1" |
golang | SXTWL_WRAPPER_GO | |
c语言 | SXTWL_WRAPPER_C | cmake只提供生成动态库 |
直接进入项目根目录下的python目录执行
python setup.py install
将代码拷贝至android工程目录下(或者直接把代码clone至代码目录下),如图所示:
刷新gradle(还有一点,最好手动删除目录下的.externalNativeBuild目录)。如图所示:
最后需要在java代码加入
System.loadLibrary("sxtwl_java");
$ set ANDROID_SDK=D:/android/sdk
$ set ANDROID_NDK=D:/android/android-ndk-r14b
$ set ANDROID_ABI=armeabi
$ set ANDROID_CMAKE=%ANDROID_SDK%/cmake/3.6.4111459/bin/cmake.exe
$ set ANDROID_NINJA=%ANDROID_SDK%/cmake/3.6.4111459/bin/ninja.exe
$ %ANDROID_CMAKE% -DANDROID_ABI=%ANDROID_ABI% \
-DANDROID_PLATFORM=android-16 \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_NDK=%ANDROID_NDK% \
-DCMAKE_CXX_FLAGS=-std=c++11 -frtti -fexceptions \
-DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK%/build/cmake/android.toolchain.cmake \
-DCMAKE_MAKE_PROGRAM=%ANDROID_NINJA% -G "Ninja" \
-DCONSOLE=1 \
-DSXTWL_WRAPPER_JAVA=1 ..
$ %ANDROID_CMAKE% --build .
注: ANDROID_ABI 可取值: armeabi/armeabi-v7a/x86/mips/armeabi-v7a with NEON/armeabi-v7a with VFPV3/armeabi-v6 with VFP/arm64-v8a/x86_64/mips64
提示:如果遇到 Could NOT SWIG (missing: SWIG_DIR)的话,可以在cmake命令指定swig的路径: -DSWIG_EXECUTABLE=d:/swigwin-3.0.12/swig
$ cd build
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.cmake \
-DIOS_PLATFORM=OS \
-DCMAKE_BUILD_TYPE=Release \
-GXcode
$ cmake --build .
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。