c语言与qt编写安卓,Windows下Qt for Android 编译安卓C语言可执行程序
作为 C/C++ 程序员,有时候我们希望在安卓上运行从 C/C++ 生成的可执行程序,而不是在 Java 中通过 jni 的方式来调用 C 动态库。有两个途径可以达到这个目的:一
作为 C/C++ 程序员,有时候我们希望在安卓上运行从 C/C++ 生成的可执行程序,而不是在 Java 中通过 jni 的方式来调用 C 动态库。有两个途径可以达到这个目的:一个是使用安卓 NDK 提供的工具链直接编译 C 代码(其中又有两种方式,使用 android 的 mk 文件,使用自己编写的 Makefile );一个是使用 Qt 5.2 for Android ,Qt Creator 可以生成安卓版本。这里我们说 Qt for Android,不说 NDK 方式。
Qt for Android 的环境搭建,可以参考我之前的博文《Windows下Qt 5.2 for Android开发入门》。
一旦你生成了一个项目,,配置好了工具链,就可以在 Qt Creator 的项目标签中选择安卓版本进行编译。不过默认编译出来的是动态库, so 文件。而我们想要可执行程序。这个可以通过修改 Makefile 来完成,纯手动的方式有以下几个步骤:
使用原生程序比使用 APK + JNI 方式会有一个好处: Java 虚拟机无法控制原生程序占用的内存,而 APK + JNI 的方式, C 代码和 Java 代码共享整个 Java 虚拟机的内存, C 代码会受到虚拟机内存大小的限制。
如果嫌上面的步骤麻烦(每次 Qt 工程变化都要手动修改 Makefile ,比如往添加了文件等),可以在 Qt Creator 中给工程添加一个构建步骤(自动修改 Makefile ),顺序放在 qmake 之后,这样每次 qmake 生成了 Makefile ,自定义的构建步骤就会自动执行来修改 Makefile ,在 make 时应用修改,最终生成可执行文件。下图是我的一个工程的配置:
至于怎么自动修改 Makefile ,可以使用一些开源的文本工具(如 sed for windows 等),这里就展开了。我是自己写了个小程序,专用的,不通用,也不提了。
c语言与qt编写安卓,Windows下Qt for Android 编译安卓C语言可执行程序相关推荐
- Qt学习之Windows下Qt应用程序打包成exe安装包
本文介绍如何将exe可执行程序打包成exe安装包,打包完的安装包可以直接在Windows下安装,需要用到 Inno Setup 安装程序制作软件工具,工具下载完之后直接安装即可. 工具下载: 打包安装 ...
- QT程序在windows下部署发布
转载:http://www.cnblogs.com/Fan_Fan/archive/2010/05/29/1746860.html QT程序在windows下部署发布 以下包括了部分网上收集的,以及q ...
- Windows下Qt程序打包
Windows下Qt程序打包 将windeployqt.exe 目录添加到系统环境变量 windeployqt.exe目录如下: 命令行打包 1.打开命令行 2.执行打包命令 windeployqt ...
- Windows下Qt Creator设置IDE菜单字体样式
Windows下Qt Creator设置IDE菜单字体样式 本文为解决以下问题: IDE的菜单字体太小 IDE的菜单字体样式,可以更换为微软雅黑 创建样式文件 在Qt Creator目录下C:\Qt\ ...
- 实现Windows下Qt扫描U盘的两种方式
参考网上资源,总结了如下实现Windows下Qt扫描U盘的两种方式:. 方式1: 检测Windows的事件–WM_DEVICECHANGE 缺点:想要检测时,必须发生过一次U盘插拔动作,需要手动&qu ...
- 基于Qt Creator 的Windows下数字图像处理软件[栏目]
基于Qt Creator 的Windows下数字图像处理软件[栏目] 前言 设计过程 完整项目展示 前言 之前说准备转行软件开发,准备从C++的学习开始,恰好这学期的数字图像处理需要做一个项目,所以决 ...
- 关于linux下网络服务器和windows下Qt客户端的通信(图片文件显示)
关于最近比较火的物联网视频监控项目,在这里给大家分享下图片传输这一块,首先客户端显示是在Windows下Qt中,服务器是在linux系统ubuntu中,服务端打开本地两张图片循环发送给客户端Qt进行显 ...
- Windows下Qt打包:bat批处理脚本实现Qt自动打包
Windows下Qt打包:新建文件夹,放入build下的可执行程序 xxx.exe,在cmd窗口中输入命令: windeployqt xxx.exe,自动抓取依赖库.点击运行exe,会提示还是缺少一些 ...
- windows下 QT 的 Android 环境搭建(附软件测试)
windows下 QT for Android环境搭建 1. QT环境搭建 2. Android 环境搭建 2.1 JDK 2.2. NDK 2.3 SDK 3. 软件测试 3.1 QT自带 Scro ...
最新文章
- php 全局搜索方法,php启用sphinx全文搜索的方法
- 显示部分x_Linux 黑话解释:什么是显示服务器,用来做什么? | Linux 中国
- 大规模推荐Deep Retrieval
- vscode技巧、vscode教程、vscode使用技巧
- 微服务【1.1】Swagger的使用
- 初识组织社会学(part1)--勉为其难,不如顺其自然,在力所能及的层次上研究、解释问题
- 编译32位_玩转Android10源码开发定制(11)内核篇之安卓内核模块开发编译
- Apache-不重启完成添加或更改域名
- bfo java_Java操作PDF文件(BFO) | 学步园
- 【BZOJ】1756: Vijos1083 小白逛公园(线段树)
- 学习了下简单的光照模型
- axios_的基本使用_使用axios()方法来发送请求---axios工作笔记004
- python中的yield使用详解
- matlab上机操作作业指导书,LED自动固晶基本操作1
- c语言程序设计输出函数,输出函数C语言程序设计.pdf
- 【算法基础一】字符编码分类
- oracle数据库例题答案下载,Oracle数据库试题及答案[教学知识]
- python3 url 获取域名ip
- 语言学句法分析树形图怎么画_树形图(句法)
- 在微信小程序中使用less