- 浏览: 1076441 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (399)
- C++ (39)
- Java (74)
- Java界面开发学习笔记 (4)
- Java用户的c++之旅 (0)
- 自言自语 (12)
- DSP (1)
- MCU (0)
- CG (0)
- Jabber (0)
- Gloox (0)
- Linux (11)
- Windows (19)
- Networks (4)
- Jobs (0)
- PHP (1)
- JSP (2)
- 生活 (35)
- C (2)
- Qt4 (2)
- C# (50)
- WPF (5)
- ASP (2)
- FLEX (47)
- SQL (20)
- JavaScript (12)
- SharePoint (6)
- GWT (1)
- Dojo (9)
- HTML (11)
- Others (7)
- 如何安装配置系列 (7)
- UML (2)
- Android (3)
- alibaba (1)
最新评论
-
zxjlwt:
学习了http://surenpi.com
Firefox插件开发: Hello World! -
ylldzz:
楼主知道MVEL怎么调试么
MVEL简介及快速使用 -
blueman2012:
您好,可否提供源码下载,我把您的代码贴过来后,好多报错的,谢谢 ...
Log4J日志解析 -
svygh123:
你的游标都没有关闭呢!
MYSQL游标嵌套循环示例 -
dizh:
写的很好啊
MVEL简介及快速使用
我采用的是VC8.0和boost_1_35_0。自己重新编译boost当然可以,但是我使用了
http://www.boostpro.com/products/free
提供的安装工具 BoostPro 1.35.0 Installer (192K .exe) 。我强烈建议使用这个工具来在Windows下安装BOOST库和源文件。
1)使用boost_1_35_0_setup.exe这个工具下载boost库,选择你要的包(类型总是Mutilthread和Mutithread Debug),下载后自动安装。我用VC8.0的boost_1_35_0安装在E:boost。我主要介绍用RegEx和Signals这2个需要编译后才能使用的库,
2)我在VC8.0下建立了一个Console工程,并为工程添加了VC包含目录:E:boostboost_1_35_0,和库目录:E:boostboost_1_35_0lib。不需要指定链接哪个库,因为系统会自动查找的。
3)需要注意的是,我不使用动态链接库,因为一堆的警告,让我恐惧。因此我使用静态的连接库,就是名称前有libboost-xxx样式的库。比如,要使用(注意与下面的名称完全一致):
Debug下:
libboost_signals-vc80-mt-gd-1_35.lib
libboost_regex-vc80-mt-gd-1_35.lib
Release下:
libboost_signals-vc80-mt-1_35.lib
libboost_regex-vc80-mt-1_35.lib
而VC的项目属性是:
Debug:多线程调试 DLL (/MDd),不采用Unicode
Release:多线程 DLL (/MD),不采用Unicode
尤其要注意,使用工具下载的时候,总是下载:
Mutilthread 和 Mutithread Debug
这样的好处是,我们是链接到静态的boost库,所以,不需要任何boost的dll。不要为了贪图小一点尺寸的运行时包而选择使用boost的动态库,起码我看那一堆的警告就不寒而栗。
下面就是个小例子,没任何警告,一切如期:
http://www.boostpro.com/products/free
提供的安装工具 BoostPro 1.35.0 Installer (192K .exe) 。我强烈建议使用这个工具来在Windows下安装BOOST库和源文件。
1)使用boost_1_35_0_setup.exe这个工具下载boost库,选择你要的包(类型总是Mutilthread和Mutithread Debug),下载后自动安装。我用VC8.0的boost_1_35_0安装在E:boost。我主要介绍用RegEx和Signals这2个需要编译后才能使用的库,
2)我在VC8.0下建立了一个Console工程,并为工程添加了VC包含目录:E:boostboost_1_35_0,和库目录:E:boostboost_1_35_0lib。不需要指定链接哪个库,因为系统会自动查找的。
3)需要注意的是,我不使用动态链接库,因为一堆的警告,让我恐惧。因此我使用静态的连接库,就是名称前有libboost-xxx样式的库。比如,要使用(注意与下面的名称完全一致):
Debug下:
libboost_signals-vc80-mt-gd-1_35.lib
libboost_regex-vc80-mt-gd-1_35.lib
Release下:
libboost_signals-vc80-mt-1_35.lib
libboost_regex-vc80-mt-1_35.lib
而VC的项目属性是:
Debug:多线程调试 DLL (/MDd),不采用Unicode
Release:多线程 DLL (/MD),不采用Unicode
尤其要注意,使用工具下载的时候,总是下载:
Mutilthread 和 Mutithread Debug
这样的好处是,我们是链接到静态的boost库,所以,不需要任何boost的dll。不要为了贪图小一点尺寸的运行时包而选择使用boost的动态库,起码我看那一堆的警告就不寒而栗。
下面就是个小例子,没任何警告,一切如期:
/////////////////////////////////////////////////////////////////////////////// // main.cpp // // 使用BOOST C++标准库 // // // 2008-7-10 cheungmine // /////////////////////////////////////////////////////////////////////////////// #include <boost/lambda/lambda.hpp> #include <boost/regex.hpp> #include <iostream> #include <cassert> #include <boost/signals.hpp> struct print_sum { void operator()(int x, int y) const { std::cout << x+y << std::endl; } }; struct print_product { void operator()(int x, int y) const { std::cout << x*y << std::endl; } }; // // 主程序 // int main(int argc, char** argv) { boost::signal2<void, int, int, boost::last_value<void>, std::string> sig; sig.connect(print_sum()); sig.connect(print_product()); sig(3, 5); std::string line; boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" ); while (std::cin) { std::getline(std::cin, line); boost::smatch matches; if (boost::regex_match(line, matches, pat)) std::cout << matches[2] << std::endl; } return 0; }
发表评论
-
错误的结果 2 (从“C:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.exe
2010-05-31 17:59 2151一般是项目的配置出问题了,可以禁用优化试试。 -
C++“读取位置 0x****** 时发生访问冲突”的可能原因
2010-05-31 16:41 18976这种错误的意思一般是指访问了不属于自己的内存空间,出现这种错误 ... -
/MD、MDd 和 /MT、MTd
2010-05-31 14:42 3222这里总结下他们的区别 后面的那个'd'是代表DEBUG版 ... -
如何解决“Invalid Address specified to RtlValidateHeap”错误?
2010-05-31 14:00 4825一个可能的原因:在不同模块(工程)之间传递 ... -
设置C++类库输出类型(DLL or LIB)
2010-05-26 17:00 2559打开工程属性,然后选择“配置属性 --> 常规 --&g ... -
C++如何获取系统进程列表
2010-05-20 16:33 4270PROCESSENTRY32 pe32; // 在使 ... -
【转】OpenCV中IplImage 与 Gdiplus 中Bitmap之间的相互转换
2010-05-19 15:05 4230// pIplImage 需要外部释放 Mosesyua ... -
如何在Visual Studio环境中创建和调用类库(DLL+LIB) + 关于LibSVM的使用
2010-05-09 18:23 8344好久没有使用C++做开发,所以对C++的开发环境( ... -
关于构造函数初始化列表顺序的面试题
2009-06-01 22:46 1550#include <iostream> #i ... -
编写类String的构造函数、析构函数和赋值函数
2009-06-01 22:22 5227这个在面试或笔试的时候常问到或考到。 已知类String的原 ... -
深度探索智能指针(Smart Pointer)
2009-06-01 16:07 1872主题索引: 一、剖析C++标准库智能指针(std::auto ... -
string与char*
2009-05-31 16:50 22431、C++ 里有字符串类型string ,最大可支持1G,可用 ... -
C++语言中数组指针和指针数组彻底分析(系列一)
2009-05-31 16:39 1669近来在论坛中机场经常看到有关数组指针和指针数组的讨论。这个是学 ... -
下面的程序会在哪一行崩溃---指针安全问题
2009-05-31 14:47 1782struct S { int i; int* p ... -
“缓冲区溢出”错误
2009-05-31 13:56 1174试图对不存在的元素进行下标操作是程序设计过程中经常犯的严重错误 ... -
一道关于C++继承的面试题
2009-05-31 13:51 1521#include <iostream> ... -
结构体的大小计算
2009-05-30 18:04 1363示例程序: #include <stdio.h> ... -
指针的大小--sizeof问题
2009-05-30 16:57 12240指针的大小是问:一个指针变量占用多少内存空间? 分析:既然指 ... -
深入理解C++中的mutable关键字
2009-05-30 16:05 1470mutalbe的中文意思是“可变的,易变的”,跟constan ... -
C和C++的特点
2009-05-30 01:25 2675推荐C和C++一直是程序设计语言的主流之一,因为C和C++既具 ...
相关推荐
在Windows环境下,安装和使用Boost库可能需要一些特别的步骤,尤其是对于那些不熟悉编译过程的开发者来说。 标题"windows下编译好的boost库"意味着这个压缩包包含了已经为Windows平台预先编译好的Boost库文件。通常...
在本案例中,我们关注的是Boost库的1.68版本,该版本已在Windows环境下使用Visual Studio 2017进行编译,并生成了用于动态链接(dll)和静态链接(lib)的库文件。 首先,我们要理解动态库(dll)和静态库(lib)的...
在ARM架构下使用Boost库,可以充分利用ARM处理器的特性,为嵌入式系统、移动设备或服务器提供强大的功能支持。本文将详细介绍Boost库在ARM架构下的编译过程以及如何在项目中应用。 首先,让我们了解一下Boost库的...
Boost 1.77.0是该库的一个稳定版本,专为Windows平台设计,包含了静态库版本,这对于那些希望在应用程序中静态链接Boost库的开发者来说是极为有用的。 在Boost 1.77.0的Windows开发包中,你将找到两个主要目录:...
Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。 Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之...
这份"boost库帮助文档"将是你深入了解和使用Boost库的重要资源。 Boost库包含了多种组件,每种都有其独特的功能和用途: 1. **智能指针**:如`shared_ptr`、`unique_ptr`和`weak_ptr`,它们提供了比原始指针更安全...
5. **跨平台**:Boost库可以在多种操作系统(如Windows、Linux、macOS等)上运行,这极大地降低了移植成本。 #### 如何下载与安装Boost库 下载Boost库有几种方式,最直接的方法是从官方网站或者其他可靠的第三方...
在Windows系统下,...总的来说,"win32_vs10下boost库"的使用涉及到C++编程、Windows开发环境、编译配置等多个方面,熟练掌握Boost库能够显著提升开发效率,同时也能帮助开发者更好地理解和利用C++语言的强大功能。
**C++ Boost库**是C++编程语言的一个开源库集合,它为标准库提供了一系列的扩展,涵盖了诸如并发、算法、容器、智能指针、序列...无论是初学者还是经验丰富的专业开发者,都应该了解并考虑在适当的情况下使用Boost库。
1. **跨平台**:Boost库在多种操作系统上都得到了广泛的测试和验证,包括Windows、Linux、Mac OS等,确保了代码的可移植性。 2. **兼容性**:Boost库与C++标准库相兼容,许多Boost库后来被采纳为C++标准库的一部分...
在Windows XP环境下使用Boost库,开发者需要注意以下几点: 1. **兼容性**:尽管Boost库在XP下测试成功,但较新的库版本可能不再支持XP,因为微软已经停止对XP的技术支持。因此,选择合适的Boost版本至关重要,确保...
Boost库的一大优势是它的高度跨平台性,能够在多种操作系统和编译器上无缝工作,包括Windows、Linux、Mac OS等。 8. **容器与迭代器增强** `Boost.Fusion`和`Boost.MPL`库提供了增强的容器和迭代器,使得编写更...
MinGW(Minimalist GNU for Windows)是一个GCC(GNU Compiler Collection)的集合,它允许在Windows环境下使用GCC进行编译。MinGW 5.3是这个集合的一个特定版本,提供了GCC 5.3编译器,该编译器支持C++11和C++14的...
基于官网的boost.asio的HTTPS/SSL例子,包括server和client端,完整的windows VS编译环境,包含了完整的boost库和openssl库,编译配置测试说明文档,测试用的server.crt和server.key证书文件。如需linux版本,和自己...
在visual studio tool(这个工具我是在下面图片找到的)里面,用cd xxx找到boost解压的位置,然后用bootstrap.bat,我遇到了下面这个错误: Failed to build Boost.Build engine. Please consult bootstrap.log for ...
Boost库使用最先进的C++特性进行实现,并且具有良好的跨平台兼容性,能够在多种操作系统上运行,包括Windows、Linux等。 1.2 **开发过程** Boost库的开发过程非常开放和透明,鼓励社区参与贡献。这使得Boost库不仅...
在 Windows 下,BOOST 库使用自己的 bjam 工具通过命令行进行编译,因此需要设置好 VC 的编译器环境变量。如果从 VS2005 的工具菜单进入命令提示窗口,需要运行 Visual Studio 中 C++ 目录下的环境 vcvarsall.bat ...
标题中的"boost1.71_MinGW7.3"指的是Boost库的1.71版本,这是专门为使用MinGW7.3编译器的C++开发环境编译和优化的。 MinGW (Minimalist GNU for Windows) 是一个可移植的C/C++开发环境,它将GCC(GNU Compiler ...