文档章节

Qt中使用Boost库

yeahlife
 yeahlife
发布于 08/11 13:55
字数 394
阅读 7
收藏 0

关于boost库的编译,请看https://my.oschina.net/yeahlife/blog/3086364

网上可以查到很多介绍qt使用库文件的教程,但是大多都没有注意到,qt中支持设置环境变量这个特性。

这里我拿boost库来举例说明。

qt creator创建项目,设置boost库文件的引入。

image

将编译生成好的lib目录,添加到LIB或者Path,

boost库头文件不要添加到INCLUDE中,加到这里qt会提示不识别,

需要将boost库头文件添加到qt的pro配置文件中。

提示:boost源目录下的boost目录中的文件 就可以作为include头文件,不需要额外生成,

# Boost 1_69
# boost头文件目录
INCLUDEPATH += D:\boost\include

qt项目中添加测试代码

#include "MainWindow.h"
#include "ui_MainWindow.h"

#include <boost/lexical_cast.hpp>
#include <boost/regex.hpp>
#include <iostream>
#include <Windows.h>
#include <qdebug.h>
using namespace std;

void TestBoost()
{
    using boost::lexical_cast;
    int a = lexical_cast<int>("123");
    double b = lexical_cast<double>("123.0123456789");
    string s0 = lexical_cast<string>(a);
    string s1 = lexical_cast<string>(b);
    //cout << "number: " << a << "  " << b << endl;
    //cout << "string: " << s0 << "  " << s1 << endl;
    //OutputDebugStringA(a);
    qDebug() << a << b << endl;
    qDebug() << s0.c_str() << s1.c_str() << endl;
    //OutputDebugStringA(s1);
    int c = 0;
    try {
        c = lexical_cast<int>("abcd");
    }
    catch (boost::bad_lexical_cast& e) {
        //cout << e.what() << endl;
    }
}

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    TestBoost();
}

MainWindow::~MainWindow()
{
    delete ui;
}

清理,重新构建(如果没效果执行qmake)打开debugView查看输出

© 著作权归作者所有

上一篇: Qt 打包发布程序
下一篇: OllyDbg使用笔记
yeahlife
粉丝 3
博文 108
码字总数 38099
作品 0
石家庄
程序员
私信 提问
渡世白玉/QAsioSocket

QAsioTcpSocket 把asio的socket操作封装成类似Qt Network类似的简单的api。 ###优点,目的: API 使用简单优雅。封装完全隐藏asio实现的细节。 不依赖Boost。可以直接包含代码使用,也可以编...

渡世白玉
2015/02/13
0
0
Win32平台Boost的编译方法

本博客(http://blog.csdn.net/livelylittlefish )贴出作 者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正! Win32 平台 Boost 的编译方法 本文以 boost1.40 为例,在 Wi...

晨曦之光
2012/03/09
379
0
开源图形库 c语言-开源C++库

开源C++库必须具有以下特点:必须是成熟的产品、跨平台的产品、相对通用的库。   一、通用标准类   STL:C++标准模板库,呵呵,它也是开源的嘛。   boost:C++准标准库,它是强大地,江...

mickelfeng
2013/01/03
1K
0
crazycooler/Fish-MD

Fish-MD Fish-MD是一款非常轻量级的Markdown云笔记工具,可以支持云端的数据同步功能。 和常规的markdown编辑工具相比,增加了图片的粘贴功能,可以将剪贴板中的图片,通过ctrl+v直接将图片添...

crazycooler
2017/12/11
0
0
服务端准备用Qt的Core模块替代boost处理数据,大家怎么看?求意见、、

服务端准备用Qt的Core模块替代boost处理数据,大家怎么看?求意见、、、 boost和STL是把模版用到了极致、、性能公认的、、 Qt库更多的是基于面向对象设计的、、易用性和代码美观度比boost给力...

渡世白玉
2014/01/11
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

springboot初探---spring-boot-starter-web究竟干了啥

上一篇已经简单介绍了启动类的部分,这一篇主要讨论一下springboot引入的哪些依赖 我们都知道想用springboot做一个web应用,首先要做的是引入相关依赖,两步操作: 1、添加spring-boot-start...

计算机狼
39分钟前
5
0
基于Rocket.chat搭建内网聊天系统(使用docker,本机不需要安装meteor)

您可能不希望使用标准的Docker命令,而是希望对部署进行更多的自动化管理。这就是使用Docker-compose可能会派上用场的地方。 确保您已安装Docker和Docker-compose并且可以正常运行。 docker...

吴伟祥
41分钟前
6
0
conda 更新源

更新conda 源为阿里源 conda config --add channels http://mirrors.aliyun.com/pypi/simple conda config --set show_channel_urls yes 阿里云: http://mirrors.aliyun.com/pypi/simple/ 豆......

Mr_Tea伯奕
41分钟前
4
0
java 泛型使用

每次写泛型方法都翻下百度,还是自己记录下把。 1、定义一个泛型方法,使用传入参数类型来传递泛型。这种用法在封装json序列化工具类应该会用到。 List<xxx> aa = getList(xxx.class);pr...

朝如青丝暮成雪
45分钟前
6
0
深入了解Java模板引擎Freemarker

前言 常用的Java模板引擎包括:JSP、Freemarker、Thymeleaf、Velocity,从Github上查阅到这几款主流的模板引擎的性能的对比,总体上看,JSP、Freemarker、Thymeleaf、Velocity在性能上差别不...

code-ortaerc
47分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部