通过命令行新建qt项目,并编译打包
ref: https://blog.csdn.net/weixin_42837024/article/details/81945656
新建项目
- 新建文件夹,作为项目根目录
- 编写main.cpp
main.cpp
#include<QApplication>
#include<QWidget>
int main(int argc,char ** argv)
{
QApplication app(argc,argv);
QWidget* pWidget = new QWidget();
pWidget->show();
return app.exec(); }

- 进入到相应的 文件夹下 输入
qmake -project会发现文件夹下生成了平台无关的项目文件一个XXX.pro文件(前面和文件夹名字一样)qmake -project
- 下一步输入
qmake XXX.pro你要输入对应的pro文件qmake XXX.pro- 生成一些 makefile 文件 和 debug 和 release 文件夹(因为手写Makefile是比较困难并且容易出错的,尤其是需要给不同的平台和编译器组合写几个Makefile。使用qmake,开发者创建一个简单的“项目”文件并且运行qmake生成适当的Makefile。qmake会注意所有的编译器和平台的依赖性,可以把开发者解放出来只关心他们的代码)
编译
如果使用的是开源版的Qt,用make;如果是商业版的Qt,用nmake
- 所以我输入
make,会 报错 不要着急

因为我们用到了QWidget 所以要在pro文件里加入 QT += widgets 然后继续重复上一步

- 重新make
- make
效果如图

打包
不同平台下的打包方式还不太一样。但是原理是类似的,都是将 应用文件依赖的有关库放到同级目录下
- Windows
- 输入命令 windeployqt XXX.exe
- 可以再使用 Enigma Virtual Box 将文件都打包在一起
- Linux
1.将编译后生成的可执行程序(如:test)复制到一个空目录下
2.使用ldd命令查看和导出需要的库
在步骤1的目录下新建一个pack.sh文件,文件内容如下:
# pack.sh
# SCHIPS
# schips@dingtalk.com
# https://gitee.com/schips/
# Wed Jun :: AM HKT
##
#!/bin/zsh #你需要发布的程序名称
bin="test_project" # 输出路径
des="./"
deplist=$(ldd $bin | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des
即可
通过命令行新建qt项目,并编译打包的更多相关文章
- Cordova之如何用命令行创建一个项目(完整示例)
原文:Cordova之如何用命令行创建一个项目(完整示例) 1. 创建cordova项目 (注意:当第一次创建或编译项目的时候,可能系统会自动下载一些东西,需要一些时间.) 在某个目录下创建cordo ...
- 使用MySQL命令行新建用户并授予权限的方法
MySQL命令行能否实现新建用户呢?答案无疑是肯定的.而且在使用使用MySQL命令行新建用户后,还可以为用户授予权限. 首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的ro ...
- 命令行创建Maven项目卡住以及出错解决办法。
第一次通过命令行创建maven项目.结果,果不其然啊,还是出问题了,不过出问题比没有出问题强,知道哪里有问题并学会解决也是一种收获. 遇到的第一个问题,在从仓库下载东西的时候会卡住,我开始以为是网速问 ...
- 学习笔记-使用cmd命令行创建nodejs项目
使用cmd命令行创建nodejs项目 1)在DOS下cd 进入到你想要创建项目的路径. 2)mkdir sing (创建一个sing文件夹) 3)cd sing 4) npm init (初始化工程 ...
- 通过命令行创建Django项目
只有安装的是pycharm专业版才可以直接在pycharm面板中直接创建Django项目 如果不是专业版,可以通过命令行创建Django项目 https://www.cnblogs.com/jiare ...
- 用cmd命令行创建vue项目模板
1.进入cmd命令行 输入存放项目的位置 2.通过vue create 项目名称 创建项目 3.选择Manually select features 4.通过空格选中第1.2.5.6.7.去掉8 4. ...
- NodeJs命令行新建项目实例
安装Nodejs: 下载地址:http://nodejs.org/download/ 设置环境变量,例如我将nodejs装在D:/program文件夹下,则设以下为系统环境变量 D:\Program\ ...
- 命令行执行Qt程序
原文网址 //helloworld.cpp #include <QApplication> #include <QPushButton> int main(int argc,c ...
- 2019-7-3-如何通过命令行-msbuild-编译项目
title author date CreateTime categories 如何通过命令行 msbuild 编译项目 lindexi 2019-07-03 19:12:19 +0800 2019- ...
随机推荐
- 三行代码CSS竖向居中
.element{ position:relative; top:50%; transform:translateY(-50%); } 这里无需设置高度或者父元素的position属性.(IE9可用) ...
- C语言结构体笔记
typedef给结构起别名 可以是匿名结构或者普通的结构,方便后面使用. #include<stdio.h> typedef struct{ //匿名结构 float tank_capac ...
- mysql全面优化
在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已. 图-MySQL查询过程 一.优化的哲学 ...
- Linux中系统状态检测命令
1.ifconfig用于获取网卡配置与网络状态等信息,格式为:ifconfig [网络设备] [参数] 2.uname命令用于查看系统内核版本等信息,格式为:uname [-a] 查看系统的内核名称. ...
- H5内嵌原生app
前言 其实我们不管是从ios还是安卓都可以看出 原生app能内嵌H5的原因是因为有了webview这个app内嵌浏览器视图,从而使得我们可以开发html然后加载到app中(原理几乎跟pc端请求.加载. ...
- c语言 GPS nmealib学习笔记
.nmealib简介 nmealib是一个基于C语言的用于nmea协议的开源库.虽然nmea体积小巧,但是却具备了不少功能. 分析NMEA语句并把结果保存在合适的C语言结构体中. 除了解析NMEA语句 ...
- VS2015编译GEOS
下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...
- 阿里fastjson工具类
package com.common.utils.jsonUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JS ...
- 数据结构与算法 Javascript描述
数据结构与算法系列主要记录<数据结构与算法 Javascript描述>学习心得
- nginx conf 文件
server { listen ; server_name local.light.com; index index.html index.htm index.php; root /home/wwwr ...