Qt 编译boost
Qt为4.6.2、Boost为1.63.0。
1、安装qt-sdk-win-opensource-2010.02.1.exe。
2、下载boost_1_63_0并解压,如:解压到E盘根目录下。
3、在开始菜单中找到Qt下的Qt Command Prompt,运行。
4、输入命令->E:
5、输入命令->cd boost_1_63_0/tools/build/src/engine。
6、输入命令->build.bat gcc,在当前目录将会生成bin.ntx86文件夹,里面包含两个exe文件b2.exe,bjam.exe。
7、将bin.ntx86\bjam.exe拷贝到E:\boost_1_63_0。
8、输入命令->cd ../../../..,进入boost_1_63_0目录下。
9、输入命令->bjam "toolset=gcc" install,等待一段时间后,会在C盘根目录下生成一个boost文件夹,里面放着生成的头文件以及LIB和DLL文。
10、将C:\Boost\include\boost-1_63目录下的boost文件夹拷贝到C:\MinGW\include下面(根据MinGW安装路径来决定)。
11、将C:\Boost\lib下的lib文件拷贝到C:\MinGW\lib下面(根据MinGW安装路径来决定)。
测试代码:
建一个Qt 空工程,添加一个空的main.cpp文件。
#include <iostream>
#include <boost/math/special_functions/acosh.hpp>
#include <boost/math/special_functions/bessel.hpp>
#include <string>
#include <boost/filesystem.hpp>
#include <boost/timer.hpp>
using namespace boost::math;
using namespace boost::math::detail;
namespace fs = boost::filesystem;
//测试boost贝塞尔函数
void testBessel()
{
std::cout<<"Test Boost:"<<std::endl;
std::cout<<acosh(2.5)<<std::endl;
std::cout<<bessel_i0(3.2)<<std::endl;
std::cout<<"Test Finished!"<<std::endl;
}
//测试boost文件系统库
void testFileSystem()
{
fs::path full_path("c:");
fs::directory_iterator end_iter;
for ( fs::directory_iterator dir_itr( full_path ); dir_itr != end_iter; ++dir_itr )
{
std::cout << dir_itr->path().filename() << std::endl;
}
}
int main(int argc, char *argv[])
{
std::cout << "-----测试boost贝塞尔函数-------" << std::endl;
testBessel();
std::cout << "-----测试boost文件系统库------" << std::endl;
testFileSystem();
return 0;
}
在pro中添加,
LIBS += -LC:\mingw\lib -lboost_system-mgw44-mt-d-1_63 -lboost_filesystem-mgw44-mt-d-1_63运行效果如下
-----测试boost贝塞尔函数-------
Test Boost:
1.5668
5.74721
Test Finished!
-----测试boost文件系统库------
"$RECYCLE.BIN"
"Boost"
"Boot"
"bootmgr"
"Documents and Settings"
"PerfLogs"
"Program Files"
"Program Files (x86)"
"ProgramData"
"Qt"
"RECYCLER"
"System Volume Information"
"Users"
"Windows"
Qt 编译boost的更多相关文章
- windows qt 编译 boost 添加 路径
win32-msvc2015: { contains(QMAKE_HOST.arch, x86):{ INCLUDEPATH += D:\3SDK\boost_1_61_0 LIBS += -LD:\ ...
- Qt编译和使用boost库(附QT5.51的Boost下载)good
配置gcc可以在cmd中使用 添加MinGW到环境变量 安装过Qt的都已经默认安装过MinGw的环境了,只需要找到配置一下环境变量就行 我的在D:\Qt5.5.1\Tools\mingw492_32\ ...
- linux下arm平台Qt编译环境搭建与解析
一.概述: 我们知道QTcreator.这仅仅是个IDE,他包含了一个编译器--qmake.这两者的关系与codeblocks和g++的关系一样,首先要明确这些. 而我们在linu ...
- C++ 系列:编译 boost
Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...
- VS2010编译Boost 1.57 静态链接库
http://www.cnblogs.com/cuish/p/4175491.html 0.前提 Boost库版本 1.57.0 下载地址 http://www.boost.org/users/his ...
- 在linux环境编译boost
1.在boost官网:http://www.boost.org/下载相应版本的boost 2.解压boost到相应目录,在boost跟目录下有b2可执行程序,可以通过输入命令“/b2 --help”, ...
- osg,qt编译的一些问题
osg编译例子的时候,打开文件就出问题,可能是一些不兼容的问题 qt编译的是时候要添加qt和vs2010的整合工具,这样才能把 vs2010里面的QTDIR变量和环境变量QTDIR关联起来 同是右击文 ...
- Solaris 10下Qt编译Oracle 10g驱动
上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变 ...
- Qt编译安装后中文无法显示问题
闲的蛋疼,把Ubuntu删了,再装10.04的时候,QT编译后运行自己的程序已经不能显示中文了,只能显示英文,字体贼丑... 想了各种办法,都没解决.. 最后:终于搞定: apt-get instal ...
随机推荐
- python numpy数组中的复制问题
vector = numpy.array([5, 10, 15, 20]) equal_to_ten_or_five = (vector == 10) | (vector == 5) vector[e ...
- idea中JDK失效
[问题] 在没有改变任何东西的情况下,突然间IDEA里面所有的代码都标红,无法找到JDK [解决方法] [File]->[Invalidate Caches],然后就好了
- nvm npm node.js的关系
nvm npm node.js都是用来构建reactNativ的项目 nvm管理node.j和npm版本的 node.js管理reactNative开发中所需要的代码库的 npm管理对应node ...
- 【前端vue开发】vue单页应用添加百度统计
前言 申请百度统计后,会得到一段JS代码,需要插入到每个网页中去,在Vue.js项目首先想到的可能就是,把统计代码插入到index.html入口文件中,这样就全局插入,每个页面就都有了;这样做就涉及到 ...
- MySQL学习笔记:少用Null
在实际编程中,Null容易引起很多问题,例如在Java里NullPointerException猝不及防的空指针异常,因此需要过多的if判断,甚是麻烦. 在MySQL数据库中也要少用Null,尽量保持 ...
- Linux学习笔记:vi常用命令
在Linux系统中常用vi命令进行文本编辑. vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器.Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved), ...
- pip常用命令总结(转载)
基本的命令解释,如下图: 列出已安装的包 pip freeze or pip list 导出requirements.txt pip freeze > <目录>/requiremen ...
- sicily 1046. Plane Spotting(排序求topN)
DescriptionCraig is fond of planes. Making photographs of planes forms a major part of his daily lif ...
- 简单实现textview文本每隔两秒就改变一次
//这个方法可以实现文本每隔两秒就改变一次, public void textTask(){ final android.os.Handler handler=new android.os.Handl ...
- TCP和UDP的9个区别是什么
TCP和UDP是两个传输层协议,广泛应用于网络中不同主机之间传输数据.对任何程序员来说,熟悉TCP和UDP的工作方式都是至关重要的.这就是为什么TCP和UDP是一个流行的Java编程面试问题.我曾经在 ...