文章目录
一、Android 平台运行的 cmd 程序类型
二、Android 平台运行的 cmd 程序编译选项
三、编译 Android 平台的 cmd 可执行程序
一、Android 平台运行的 cmd 程序类型
Android 平台运行的 cmd 程序 , 该项目工程的程序类型是 " 生成文件项目 ( Android ) " ;
Visual Studio 2019 默认没有该选项 , 需要使用 Visual Studio Installer 安装
① 进入 Visual Studio Installer , 选择 " 修改 " 选项 ;
② 选择 " 使用 C++ 的移动开发 " 开发库 , 安装该开发库 ;
二、Android 平台运行的 cmd 程序编译选项
MobileGameModify 源码中的 remote 就是在 Android 平台上运行的远程程序 ;
该程序是 " 生成文件项目 ( Android ) " , 通过配置的 Android.mk 和 Application.mk 进行编译 ;
Application.mk 编译配置 :
# 设置编译的架构 , 这里在 PC 上的雷电模拟器 3.75 上运行肯定是 x86 架构 APP_ABI := x86 # 如果要在 ARM 真机上运行 , 设置 armeabi-v7a armeabi , 注意寄存器相关逻辑需要兼容 APP_STL := gnustl_static # 最小支持版本 APP_PLATFORM := android-19
Android.mk 编译配置 :
LOCAL_PATH := $(call my-dir) TINYXML := tinyxml/tinystr.cpp tinyxml/tinyxml.cpp tinyxml/tinyxmlerror.cpp tinyxml/tinyxmlparser.cpp JSONCPP := json/json_reader.cpp json/json_value.cpp json/json_writer.cpp ####command#### include $(CLEAR_VARS) # 链接其它库 文件 LOCAL_LDLIBS += -llog # 指定 C++ 编译选项 LOCAL_CPPFLAGS += -std=c++11 # 指定使用的 C++ 特性 LOCAL_CPP_FEATURES += rtti exceptions # 指定编译 LOCAL_MODULE := cmd # 指定头文件查找路径 LOCAL_C_INCLUDES += . LOCAL_C_INCLUDES += json LOCAL_C_INCLUDES += tinyxml # 此处必须设置自己电脑上的 SDK 地址 # 注意 : 版本必须是 android-ndk-r14b LOCAL_C_INCLUDES += Y:/001_DevelopTools/002_Android_SDK/ndk/android-ndk-r14b-windows-x86_64/android-ndk-r14b/platforms/android-19/arch-x86/usr/include # 指定源文件 LOCAL_SRC_FILES := main.cpp $(JSONCPP) $(TINYXML) # 指定编译结果输出路径 NDK_APP_DST_DIR := ../Debug/$(TARGET_ARCH_ABI) # 指定编译结果是 Android 平台上的可执行文件 include $(BUILD_EXECUTABLE)
在上面需要根据自己的 NDK 路径配置 C 头文件的查找路径 LOCAL_C_INCLUDES 为 Y:/001_DevelopTools/002_Android_SDK/ndk/android-ndk-r14b-windows-x86_64/android-ndk-r14b/platforms/android-19/arch-x86/usr/include , 这里需要配置 android-ndk-r14b 版本的 NDK , 尽量配置的一样 , 肯定能编译通过 , 使用其它版本不保证编译通过 ;
右键点击该解决方案 , 选择 " 属性 " 选项 ,