diff --git a/c_wrapper/build_dll.bat b/c_wrapper/build_dll.bat index 2ba475e..c69304a 100644 --- a/c_wrapper/build_dll.bat +++ b/c_wrapper/build_dll.bat @@ -1 +1,2 @@ -go build -buildmode=c-shared -ldflags="-s -w" -o openim.dll export.go \ No newline at end of file +go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o openIM.dll export.go + diff --git a/c_wrapper/build_run_test.bat b/c_wrapper/build_run_test.bat index fac7523..e51da8f 100644 --- a/c_wrapper/build_run_test.bat +++ b/c_wrapper/build_run_test.bat @@ -1,2 +1,2 @@ -gcc -o test.exe -L. openim.dll test.c +gcc -o test.exe -L. openIM.dll test.c test.exe \ No newline at end of file diff --git a/c_wrapper/build_test.bat b/c_wrapper/build_test.bat index 030977b..f368158 100644 --- a/c_wrapper/build_test.bat +++ b/c_wrapper/build_test.bat @@ -1 +1 @@ -gcc -o test.exe -L. openim.dll test.c \ No newline at end of file +gcc -o test.exe -L. openIM.dll test.c \ No newline at end of file diff --git a/c_wrapper/gen_android_so.bat b/c_wrapper/gen_android_so.bat new file mode 100644 index 0000000..67d7c2c --- /dev/null +++ b/c_wrapper/gen_android_so.bat @@ -0,0 +1,32 @@ +set NDK_PATH=D:\android_sdk\ndk-bundle +set SO_NAME=openIM +set OUT_PATH=android\ + +set CGO_ENABLED=1 + +REM 生成 armeabi-v7a +set GOOS=android +set GOARCH=arm +set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\armv7a-linux-androideabi16-clang.cmd + +go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%armeabi-v7a\%SO_NAME%.so export.go + +REM 生成 arm64-v8a +set GOARCH=arm64 +set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android21-clang.cmd + +go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%arm64-v8a\%SO_NAME%.so export.go + +REM 生成 x86 +set GOARCH=386 +set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\i686-linux-android16-clang.cmd + +go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%x86\%SO_NAME%.so export.go + +REM 生成 x86_64 +set GOARCH=amd64 +set CC=%NDK_PATH%\toolchains\llvm\prebuilt\windows-x86_64\bin\x86_64-linux-android21-clang.cmd + +go build -buildmode=c-shared -trimpath -ldflags="-s -w" -o %OUT_PATH%x86_64\%SO_NAME%.so export.go + + diff --git a/c_wrapper/test.c b/c_wrapper/test.c index 88869bc..6a8964b 100644 --- a/c_wrapper/test.c +++ b/c_wrapper/test.c @@ -3,7 +3,7 @@ #include #include -#include "c_wrapper.h" +#include "openIM.h" typedef struct { @@ -33,7 +33,7 @@ void on_user_token_expired() { printf("on_user_token_expired\n"); } -void on_connect_failed(int err_code, void *err_msg) +void on_connect_failed(int err_code, char *err_msg) { char *message = (char *)err_msg; printf("Error code: %d\n", err_code); @@ -43,7 +43,7 @@ void success(char *data) { printf("login success : %s\n", data); } -void main(int argc, char **argv) +int main(int argc, char **argv) { char operationID[] = "12345"; char uid[] = "6959062403"; @@ -58,4 +58,5 @@ void main(int argc, char **argv) login(success, on_connect_failed, operationID, uid, token); sleep(1000000); + return 0; } \ No newline at end of file