QtCreator是一个很好的编写C++程序的工具,我们可以利用其高效的开发IDE来开发纯C++应用程序或动态库,静态库。

一、创建纯C++应用程序

1、新建项目,选择Non-Qt Project,可选择C或C++应用程序;

2、在make工具处建议选择qmake,cmake很强大,不过很多时候属于高级应用,需要手动配置;

3、继续完成项目创建,然后打开.pro文件,默认配置如下:

TEMPLATE = app

CONFIG += console c++11

CONFIG -= app_bundle

CONFIG -= qt

SOURCES += main.cpp

TEMPLATE = app  #这行是告诉编译器,本项目将构建一个应用程序;

CONFIG += config C++11  #这行是告诉编译器,添加C++11的支持;

CONFIG -= qt  #去除qt库的支持

二、创建纯C++支持静态链接库

1、新建项目,选择创建C++库

2、选择C++库类型,在linux系统下最好选择静态库,因为在linux下部署动态库较为复杂;

3、选择所需要的模块,因为我们是纯C++库,所有要去掉所有的Qt库模块;

4、默认会创建一个class,可以按照需要改动;

当你选择动态库的时候,QT会自动创建一个xxx_global.h的文件,包含动态库导出宏定义,但是部署的时候问题很多,因此建议使用静态库,尤其是在Unix系统上运行时就会出现很多问题;如果选择静态库,就只有两个文件,也不会有导出宏定义;

5、下面是一个最小化的*.pro文件配置:

TARGET = qnxsocket

TEMPLATE = lib

CONFIG += staticlib

SOURCES += qnxsocket.cpp

HEADERS += qnxsocket.h

TARGET = qnxsocket #这行告诉编译器目标文件的名称

TEMPLATE = lib  #这行定义项目为lib库文件

CONFIG += staticlib  #这行告诉编译器这是一个静态链接库

三、链接静态库

1、在QT执行程序所在项目点右键选择添加库;

2、选择支持平台和库名称,如果选择的是内部库,可以直接选择库名称:

3、完成添加,程序会自动添加库支持代码到*.pro文件:

现在就可以在QtCreator上开发与QT无关的C++应用程序了。

linux qt创建静态库,QT创建与QT无关的纯C++程序和动态/静态库相关推荐

  1. 12.QT + OpenCV打包成应用(以及QT图标问题详细) --- OpenCV从零开始到图像(人脸 + 物体)识别系列

    本文作者:小嗷 微信公众号:aoxiaoji 关键词:QT + OpenCV打包成应用(接着第11篇) QT开发的程序发布的时候经常采用两种方式: 静态编译,可生成单一的可执行文件. 动态编译,需同时 ...

  2. Linux平台gcc和动态共享库的基础知识

    http://www.javaeye.com/topic/261176 对大多数不从事Linux平台C语言开发的人来说,GNU gcc的一套工具和Linux平台的共享库的使用还是十分陌生的,其实我也不 ...

  3. 在VB 中调用动态连接库

    在VB 中调用动态连接库   2001-11-08· · ··yesky 1 2 3 4 5 6 7 8  下一页 作为一种简单易用的Windows开发环境,Visual Basic从一推出就受到了广 ...

  4. linux环境QT做静态库,QT静态库的创建与使用

    最近研究一下静态库的开发: 最初学习的资料是: QT静态库的创建与使用(全网最细)_路漫漫其远,吾求索的博客-CSDN博客_qt生成静态库 建立一个静态库成功. 我这里总结一下: 1,如果同时打开静态 ...

  5. Qt动态库静态库的创建、使用、多级库依赖、动态库改成静态库等详细说明

    本文描述的是windows系统下,通过qtcreator在pro文件中添加动态库与静态库的方法: 1.添加动态库(直接添加动态库文件.dll,非子项目) 通过qtcreator创建动态库的方法就不在此 ...

  6. 【转载】linux静态链接库与动态链接库的区别及动态库的创建

    这篇文章对于动态库的概念及使用介绍的很不错,故收藏了. 一.引言 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数 ...

  7. linux怎么调用静态库,Linux 静态库的创建和使用

    简介 在linux下库分两种:静态库和共享(动态)库.这两种库的主要不同在于连接到程序的过程. 在编译程序时,连接器(ld)负责把程序中不同的模块连接起来,产生最终的可执行文件.静态库就是在这一过程连 ...

  8. linux系统下的“静态库和动态库”专题之二:库的创建和使用

    接上文[linux系统下的"静态库和动态库"专题之一:库的概念和规则]所述,我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库两种. – 静态库在程序编译 ...

  9. Linux 静态库和共享(动态)库的创建与使用详解

    文章目录 Linux 静态库和共享(动态)库 库的介绍 使用库有什么好处 库制作完成后, 如何给用户使用 静态库(static library) 静态库的制作 ar工具创建lib过程 静态库的使用 源 ...

最新文章

  1. 教你实现Vscode的Markdown预览
  2. P3196 [HNOI2008]神奇的国度(弦图的最小染色问题)
  3. Android Binder 分析——数据传递者(Parcel)
  4. react实现汉堡_利用 React 高阶组件实现一个面包屑导航
  5. Web前端面试题集锦
  6. 当今年轻人创业,什么行业最有前途
  7. 51nod 平均数(二分+树状数组)
  8. 手机自动化测试:appium源码分析之bootstrap五 上
  9. mstsc远程桌面全频或自定义窗口
  10. 历史上最伟大的12位程序员
  11. mysql 读写分离_详解MySQL读写分离
  12. 网卡地址和ip地址的区别
  13. 用了五年 VS Code ,我决定换成 JetBrains…
  14. android扫描文件,安卓手机怎么扫描文件_手机扫描文件的图文教程-系统城
  15. Windows批处理 - 小程序大作用
  16. ECDSA 签名验证原理及C语言实现
  17. 保持MacBook电池健康并延长其使用寿命的方法
  18. 有趣的KaTeX(附源码)
  19. 出场映像还原_如何从系统映像还原Windows 7
  20. 没有植入的内容就是TM在逗我

热门文章

  1. mongodb安装及可视化工具robomongo安装
  2. JavaScript强化教程——数组的基本处理函数
  3. android布局layout中的一些属性
  4. Linux下修改时间时区
  5. 对于asp.net服务器推送和客户端拉拽技术知识讲述
  6. 职业人应该“这山望着那山高”
  7. Restify Api 开发经验
  8. Flask 上下文管理-- (session,request,current_app的传递)--类似本地线程实现,以及多app应用...
  9. linux 软件安装方式
  10. 测试基础【第二篇】软件测试模型