说明:(1)编译主要是在乌班图18.04下
1.准备的工具
(1)poco1.90 https://github.com/pocoproject/poco/tree/poco-1.9.0
(2)ndk(android-ndk-r21e-linux-x86_64)交叉编译工具 https://developer.android.com/ndk/downloads?hl=zh-cn
2.开始配置文件
(1)进入ndk目录(E:\qml\Android\android-ndk-r21e) 我这里用window下目录做演示,自行到乌班图下配置即可

(2)创建test文件夹


test文件夹内部大概是上面这样的,但是一开始没有那么多,创建test文件夹后,创建jni文件夹,其他的不用创建。
(3)进入jni文件夹,创建Android.mk和Application.mk这两个文件很重要,用于交叉编译配置文件
Android.mk内容如下:
#
# Android.mk
#
# POCO Foundation
#
include $(CLEAR_VARS)
LOCAL_MODULE := PocoNet
LOCAL_PATH := $(call my-dir)/../../test/jni/
# LOCAL_LDLIBS += -L./../MyLibs/arm64-v8a -l libPocoFoundation.so
# LOCAL_SHARED_LIBRARIES += -l./../MyLibs/arm64-v8a -lPocoFoundation.so
LOCAL_CFLAGS := -DPOCO_ANDROID -DPOCO_NO_FPENVIRONMENT -DPOCO_NO_WSTRING -DPOCO_NO_SHAREDMEMORY
LOCAL_CPPFLAGS := -frtti -fexceptions
LOCAL_C_INCLUDES := $(call my-dir)/../../test/jni/Net/include \
$(call my-dir)/../../test/jni/include
LOCAL_SRC_FILES := Net/src/AbstractHTTPRequestHandler.cpp\
Net/src/DatagramSocket.cpp\
Net/src/DatagramSocketImpl.cpp\
Net/src/DialogSocket.cpp\
Net/src/DNS.cpp\

本文详细介绍了如何在Ubuntu 18.04上使用Poco 1.9.0和Android NDK r21e进行交叉编译。首先准备Poco库和NDK,然后在NDK目录下创建并配置test文件夹,包括Android.mk和Application.mk文件。接着,列出Android.mk中所需的源文件和头文件路径,并设置编译选项。最后,将所需文件复制到相应位置并运行ndk-build进行编译。

1328

被折叠的 条评论
为什么被折叠?



