vs2013boost编译
‘壹’ 如何编译boost库 vs2013 x64
template<class U>
static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
<U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
‘贰’ 安装了多个版本vs怎么编译boost
boost有些库是不用安装的,仅需包含头文件库就行了。
但是有些很爽的库(thread,regex)需要根据不同的系统做不同的调整,所以必须编译。
编译的流程很简单,如果是windows操作系统,首先找到那个booststrap.bat的东西,然后在控制台下运行它,它会生成bjam.exe,然后就可以通过bjam来编译boost库了,在命令行下输入bjam --help看选项。
如果嫌麻烦,可以一次将boost库需要编译的全部编译了,bjam --build-type=complete,生成库全在stage目录下。
‘叁’ 怎样利用VS2013搭建命令行编译环境
以前sdk包含VC++编译器的,但是从7.1以后为了整合sdk到vs2012和vs2013中就剥离了编译器。当然说起来还是因为7.1sdk的bug导致系统运行环境和vs出错无法使用才在之后的sdk中剥离了编译环境。不过你下载免费的vs2013 express for desktop就会
‘肆’ 如何在VS2013中进行Boost单元测试
对于如何在VS2013中进行Boost单元测试,这方面资料太少。自己也因此走了不少弯路。下文将会阐述一下如何在VS2013中进行Boost单元测试。
在开始Boost单元测试之前,我们需要先安装VS2013插件Boost Unit Test Adapter (Update 3) 以及编译Boost库。Boost Unit Test Adapte可以在VS2013中的“工具->扩展与更新”中找到并安装。对于Boost Unit Test Adapter所支持的Boost库版本请参考 网页。我选择的是版本号为1.55.0的Boost库(可以在其 官网 下载得到)。在编译Boost库的时候,可以参考 教程 及博文。我选择的是完全编译(bjam --toolset=msvc-12.0 --build-type=complete)。
下文以几个步骤来阐述:
1. 新建解决方案及工程
接下来,我们新建一个BoostUnitTest解决方案,然后在该方案下添加(鼠标右击解决方案新建项目)两个项目。第一个项目是空的“WIN32”项目“Tested”,另一个是“Boost Unit Test Project”项目(新建项目->模板->Visual C++-> Test 下)“BoostUnitTest”。如下图:
2. 在被测试工程中添加文件
在Tested工程中添加一个头文件tested.h及源文件tested.cpp. 具体代码如下
1 #include <iostream>
2
3 using namespace std;
4
5 class Tested
6 {
7 public:
8
9 Tested();
10 virtual ~Tested();
11 int add(const int a, const int b);
12
13 private:
14
15 };
tested.h
1 #include "tested.h"
2
3 Tested::Tested()
4 {
5
6 }
7
8 Tested::~Tested()
9 {
10
11 }
12
13 int Tested::add(const int a, const int b)
14 {
15 return a + b;
16 }
tested.cpp
在这里,我们并不需要新建一个main函数对这个类tested进行测试(因为我们已经有单元测试了),但一个程序默认是需要main函数的,所以在需要在Tested项目属性中进行这样的设置(“配置类型”改为“动态库(.dll)”见下图):
接着,“生成”该工程,产生tested.obj文件。
3. 配置Boost单元测试工程
新建的Boost单元测试工程中有两个源文件“BoostUnitTestSample.cpp”及“BoostUnitTest.cpp”(还有stdafx.h、stdafx.cpp、targetver.h),前一个文件是样例,可以不要,后一个文件可以当作我们的单元测试源文件。
先对该工程进行配置:
1)添加“平台工具集”为"Visual Studio 2013 (v120)",见下图:
2)添加包含Boost库的根目录(在我电脑上是D:\boots_1_55_0),见下图:
3)添加Boost库目录及待测试工程的.obj文件所在目录,见下图:
4)添加“附加依赖项”“tested.obj”,见下图:
4. 进行Boost单元测试
注: 我们在这时只进行简单的单元测试,更加复杂的测试请参考文章最后给出的链接。
在BoostUnitTest工程中的文件“BoostUnitTest.cpp”(也可新建)添加如下代码:
1 #define BOOST_TEST_MODULE Example // 主测试套件,一个测试项目中只能有一个主测试套件
2
3 #include "stdafx.h"
4 #include "D:\VSProject\BoostUnitTest\BoostUnitTest\Tested\tested.h"// 待测工程头文件
5
6 BOOST_AUTO_TEST_SUITE(Tested_test)// 测试套件
7
8 BOOST_AUTO_TEST_CASE( BoostUnitTest )// 测试用例
9 {
10 // TODO: Your test code here
11 Tested tmpTested;
12 BOOST_WARN(tmpTested.add(2, 2) == 4); // WARN型预言检测
13 BOOST_CHECK(tmpTested.add(2, 2) == 4);// CHECK型预言检测
14 BOOST_REQUIRE(tmpTested.add(2, 2) == 4); // REQUIRE型预言检测
15 }
16
17 BOOST_AUTO_TEST_SUITE_END()
点击“生成->生成解决方案”(预先打开“测试->窗口->测试资源管理器”)可以看到在“测试资源管理器”中出现了“BoostUnitTest”这个单元测试用例,如下图:
点击“全部运行”,可以看到该测试用例变绿,说明测试通过,如下图:
如果我们将“BoostUnitTest.cpp”中的第13行改成:
BOOST_CHECK(tmpTested.add(2, 2) == 3);
单元测试运行结果是不通过,如下图:
至此,如何进行一个简单的Boost单元测试的过程就完成了。如果要进行更复杂的测试,可以参考 官方文档 。
还有一些个人觉得比较好的参考资料:
Boost Test Library 中文手册 ;
DeveloperWorks的“ 了解Boost单元测试框架 ”
‘伍’ 怎样在VS2013中安装配置boost
下载Boost库,这里我选择下载boost_1_55_0.zip
解压boost文件到本地目录(如G:\boost_1_55_0),可以发现解压后的文件中有一个bootstrap.bat文件。
然后以管理员身份打开cmd窗口,
上述命令执行完毕后可以发现G:\boost_1_55_0下新生成了一个bjam.exe文件
在命令窗口中输入语句:bjam.exe
此过程将默认根据系统已经安装好的编译工具(VS2008,2010,2012,2013)等编译相应的Lib文件、头文件等。(此步骤大概需要10分钟)
可以看到msvc 12.0,这是因为我系统中已经安装过了VS2013
msvc : 8.0是VS2005
msvc : 10.0是VS2010
msvc : 12.0是VS2012、VS2013
第5步执行成功后会有如下信息提示
至此我们已经完成了boost库的安装,下面需要配置一下VS2013了。新建一个VS2013控制台应用程序(工程名为boostest),添加如下代码
#include "stdafx.h"
#include <boost/lexical_cast.hpp>
#include <iostream>
using namespace std;
int main()
{
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;
int c = 0;
try{
c = lexical_cast<int>("abcd");
}
catch (boost::bad_lexical_cast& e){
cout << e.what() << endl;
}
return 0;
}
添加boostest工程的包含目录和库目录
包含目录添加 G:\boost_1_55_0
库目录添加 G:\boost_1_55_0\stage\lib
进入代码窗口编译并成功运行说明BOOST库确实已经配置成功,可以放心使用。
‘陆’ boost vs2010编译 vs2013可用吗
不兼容,无法使用
‘柒’ VS2013 boost.python 编译错误,请教一下
确认文件boost/python.hpp存在
#include包含语句,应该放在源文件首部,其它代码之前(其它#include之后)
尝试增加作用域定义:
using namespace boost::python;
‘捌’ vs2013如何静态编译
项目属性-配置属性-常规-MFC的使用-使用标准Windows库(不用MFC)
然后,C/C++-代码生成-运行库-多线程/MT或者多线程调试/MTd
带d的是链接调试版本,DEBUG项目选/MTd,Release项目选/MT
如果使用MFC,在MFC的使用中设置静态、动态链接,代码生成中必须使用<从上级继承>
‘玖’ Visual Studio 2013下如何编译运行程序
方法/步骤
1、以”C“程序为例,打开Visual Studio 2017。
‘拾’ 怎样在 VS2013 中安装配置 boost
您好,我看到您的问题很久没有人来回答,但是问题过期无人回答会被扣分的并且你的悬赏分也会被没收!所以我给你提几条建议:
一,你可以选择在正确的分类下去提问,这样知道你问题答案的人才会多一些,回答的人也会多些。
二,您可以到与您问题相关专业网站论坛里去看看,那里聚集了许多专业人才,一定可以为你解决问题的。
三,你可以向你的网上好友问友打听,他们会更加真诚热心为你寻找答案的,甚至可以到相关网站直接搜索.