vs2010boost库编译
❶ win7下为VS2010安装boost库 命令行运行bootstrap.bat时提示failed to build Boost.Build engine
可能是安装的boost库版本不对,试试其他版本的吧
❷ 急 求用vs2010编译好的boost库include和lib
你好,
你要用boost的什么功能?boost的大部库都是模板的,不需要编译,直接从官网上下载,用它的头文件就行了。
如果你需要的话,请到如下链接下载boost_1_59_0-msvc-10.0-32.exe:
https://sourceforge.net/projects/boost/files/boost-binaries/1.59.0/
谢谢,望采纳
❸ 关于C++ Boost编译问题
理论上是需要的,因为vs2005和vs2010的编译器版本不一样,产生的链接库也会不一样。
❹ windows怎么在控制台编译boost程序
Boost库是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库
要使用Boost库,首先确认一下你使用的开发环境是否支持编译boost库(http://www.boost.org/users/history/version_1_46_1.html)
以windows的msvc编译器为例,支持编译boost库是Visual C++: 7.1, 8.0, 9.0 10.0
如果你还在用VC++ 6.0的话,只能抱歉了。VC6编译器由于不支持模板偏特化等许多新特性,所以有的Boost库会缺少功能甚至不能使用。
安装Boost库的方法:
1、从Boost网站(www.boost.org)下载压缩包,解压到本地硬盘任意位置。
本文以boost_1_46_1版本为例,解压位置为 D:\boost_1_16_1\
2、进入目录D:\boost_1_16_1\,运行bootstrap.bat,获得bjam.exe 程序
3、命令行方式执行: bjam stage --toolset=msvc-7.1 --build-type=complete --layout=versioned
其中,
stage 选项指定boost使用本地构建,当前目录下会创建一个stage目录,编译后的lib库会在其中。
toolset 选项指定编译器,对于使用visual studio 开发工具的程序员来说,需要正确填写msvc的版本号:
vs2003 : msvc-7.1
vs2005 : msvc-8.0
vs2008 : msvc-9.0
vs2010 : msvc-10.0
build-type 选项指定编译类型,
layout 选项指定需要编译的库名及头文件的地址目录名的生成策略。默认Windows下为versioned
接下来你可以关上显示屏去做别的事了,因为Boost库的完整编译会耗费大量的时间(本人在pc上花了约1个小时时间)。
完整编译后,需要在visual studio IDE 中设置包含目录和库目录。
Windows Visual Studio 200x IDE 通用配置
=======================================
在菜单中选择:
1. Tools (工具)
2. Options (选项)
3. Project and Solutions (项目)
4. VC++ Directories (VC++ 目录)
5. Show directories for (显示以下内容的目录): Include Files (包含文件) 增加 D:\boost_1_46_1
6. Show directories for (显示以下内容的目录): Library Files (库文件) 增加 D:\boost_1_46_1\stage\lib
如果是Visual Studio 2010,不再是从tools->options->project and solutions->VC++ directories 中配置库目录和包含目录,而是对自己的项目单独配置。
先添加/导入自己的项目,在窗体左侧项目的属性管理器中
1.单击第一个按钮(属性),弹出项目属性页
2.选择配置属性->VC++目录
3.包含目录中增加 D:\boost_1_46_1
4.库目录中增加 D:\boost_1_46_1\stage\lib
OK,一切准备就绪。可以开始使用Boost库了。下面的一个小程序可以测试一下boost库是否安装正确。
#include <boost/thread/thread.hpp>
#include <iostream>
void hello() {
std::cout << "Hello world, I'm a thread!" << std::endl;
}
int main(int argc, char* argv[]) {
boost::thread thrd(&hello);
thrd.join();
return 0;
}
正确安装的话,会在控制台输出一行"Hello world, I'm a thread!"的信息。
完整编译Boost库费时费力,而且也不一定在开发中都用到,所以也可以自行选择要编译的库。
只要在运行bjam的命令中,添加--with-<库名> 选项就可以了,或--without-<库名>关闭某个库的编译。
bjam还有许多选项,可参考bjam的文档以获得更多信息。
❺ 用vc2010编译带有boost的项目出错,不明确符号
boost的一些库,比如share_ptr已经被高版本的stl采纳了.如果你一块儿用编译器当然搞不清你要用那个了.我想你肯定写了这样的东西
using namespace std;
using namespace tr1;
using namespace boost;
实际上两个智能指针是一样的,你只需要用一个即可.如果你一定要两个都用,那么不要写上面的语句.而是应该写std::tr1::xxxx, boost:xxxx
❻ 在通过vs2010使用boost的date_time库时出现 error C2039: 'nullptr_t' : is not a member of 'stlpd_std'
1.5.3版本的boost 增加了对nullptr的定义,这是在1.4.7版本中没有的。而且依赖于STL中对nullptr_t的定义,但是STLport5.2.1版本中没有引入空指针的类型,这是C++11的新标准。要学最新的boost库,还是使用微软本身的STL吧,虽然被喷成渣,但总比没有review的代码要厉害。
❼ 如何用Visual Studio 2010编译boost1.42库
64位windows平台,编译环境是VS2005,进入Visual Studio 2005 x64 Win64 Command Prompt(单纯的cmd也不一定不行,我没试)。把bjam.exe放在boost根目录下,进入根目录,执行:
bjam --toolset=msvc address-model=64 --with-thread stage
bjam --toolset=msvc address-model=64 --with-date_time stage
关键选项:“address-model=64 ”
64位linux平台,使用gcc编译。进入boost根目录,执行:
./bjam --toolset=gcc --with-thread stage
./bjam --toolset=gcc --with-date_time stage
linux平台下倒是简单,不过网上有篇文章介绍用如下命令编译,不知道是多此一举,还是适用于某些情况(非64位linux主机?)。
./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-thread stage
./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-date_time stage
唉。命令都很简单,可浪费了我不少时间。usage根本没写,去看boost build的嘛,页数n多不说,看完之后能否找到答案还是未知数。网上相关资料很少而且大多南辕北辙,只好一直搜索+尝试。其实我只是想要个64位版本的库而已,这应该不是啥稀罕的需求吧?
在windows平台下,编译出来的是否是64位类库,只有link 64位程序的时候才能发现。如果不是,link程序无法找到类库中定义的函数或者类。linux不知道,因为我整出来直接就是64位了,我也懒得再找一台32位linux主机折腾了。
在1.37之后的boost,如果想要使用boost::thread库,必须有boost::date_time库。当然这件事情又一如既往很酷地没有出现在容易看到的地方。而是让你链接错误后再去玩抓虫游戏。
❽ 安装了多个版本vs怎么编译boost
boost有些库是不用安装的,仅需包含头文件库就行了。
但是有些很爽的库(thread,regex)需要根据不同的系统做不同的调整,所以必须编译。
编译的流程很简单,如果是windows操作系统,首先找到那个booststrap.bat的东西,然后在控制台下运行它,它会生成bjam.exe,然后就可以通过bjam来编译boost库了,在命令行下输入bjam --help看选项。
如果嫌麻烦,可以一次将boost库需要编译的全部编译了,bjam --build-type=complete,生成库全在stage目录下。
❾ win7下vs2010编译boost怎么配置stlport
一、安装cmake
1、这一步比较简单,下载安装最新版本cmake-2.8,开始如下安装
2、注意这里选择第二个选项,为所有的用户添加系统变量
3、选择安装到目录 F:\CMake 2.8,个人建议最好安装在C盘目录下。
4、安装完毕后确认一下系统变量中有没有红色框中的目录,若没有需要手动添加进去。
5、cmake安装完毕!
二、安装Boost库
1、下载最新版本,当前为boost_1_55_0
2、按 Win+R组合键输入cmd进入命令窗口:
切换当前目录为boost的安装目录(G:\boost_1_55_0),输入bootstrap.bat
3、执行完上述命令后会在安装目录下生成如下exe文件
4、继续在DOS窗口中输入bjam.exe,程序会根据你当前安装的编译环境(vs2010,vs2012,vs2013)等自动选择与之相适应的库文件和包含文件等。
此过程大概需要20分钟左右。根据下面第二个图片可以算出我的编译环境为MSVC-12.0即VS2013.
5、20分钟左右后可以看到如下界面,说明Boost库配置完成
三、安装CGAL
1、下载CGAL,这里我下载的是CGAL-4.4这个版本(当前最新的)
2、安装位数选择32位
如果选择64位进行安装,则会在以后配置完毕后出现类似“无法识别的外部符号。。。”等问题,很难进行正确配置。所以这里最好全部选择32位进行安装。
3、安装目录我选择C:\Program Files\CGAL-4.4
安装在其他目录时可能会出现用Cmake编译时出现好几外错误。可以尝试通过安装在C盘进行解决。
4、选择如下几项,单击下一步
5、安装完成后可能会出现如下提示,则需要手动添加F:\CGAL-4.4\auxiliary\gmp\lib到Path变量中
6、此时CGAL安装完成
四、用Cmake配置CGAL库
1、打开Cmake软件选择如下目录,注:两个目录是相同的
2、单击“config"-选择如下编译器(默认是32位,与前面安装软件一定要保持一致)
3、单击确定后,出现如下界面说明配置成功
4、找到如下图的这一项,选中,再次单击"config"进行配置
5、单击Generate,此时界面应如下。
6、此时在CGAL安装目录下出现如下文件:CGAL.sln
7、打开此文件,此时编译器会自动组建一个解决方案。如下图
8、选择32位debug模式,按F7进行编译,编译完成后如下图所示,表明CGAL至此完全配置成功。
五、举例测试CGAL
新建一个控制台应用程序,并添加如下代码
#include <iostream>
#include <boost/format.hpp>
#include <QtGui>
#include <CGAL/Qt/GraphicsViewNavigation.h>
#include <QLineF>
#include <QRectF>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QGraphicsScene scene;
scene.setSceneRect(0,0, 100, 100);
scene.addRect(QRectF(0,0, 100, 100), QPen(QColor(255,0,0)));
scene.addLine(QLineF(0,0, 100, 100));
scene.addLine(QLineF(0,100, 100, 0));
QGraphicsView* view = new QGraphicsView(&scene);
CGAL::Qt::GraphicsViewNavigation navigation;
view->installEventFilter(&navigation);
view->viewport()->installEventFilter(&navigation);
view->setRenderHint(QPainter::Antialiasing);
view->show();
return app.exec();
}
添加包含库目录,操作如下图,注意红色框中的添加内容
添加附加库目录,操作如下图,注意红色框中的添加内容