我使用boost 1.61.0和cl 19(visual studio 2015)。我使用命令行quantity
和item
来获取启动文档来构建boost库。这使得舞台目录包含一些vc14前缀库。
但是当我尝试编译获取启动正则表达式程序时
bootstrap
使用此命令行编译器设置:
.\b2
我收到此错误:
#include <boost/regex.hpp>
#include <iostream>
#include <string>
int main()
{
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;
}
}
我的尝试出了什么问题?
编辑:我将命令行编译更改为:
cl main.cpp -I %BOOST_ROOT% -L %BOOST_LIB_14% /EHsc
现在,我收到了这个错误:
Link:: fatal error LNK1181: cannot open input file 'C:\local\boost_1_61_0\stage\lib.obj
答案 0 :(得分:0)
我找到了解决方案。
我使用bootstrap
和.\b2
命令构建了boost库。它只构建了mt
(多线程)和gd
(调试)库。
对于静态链接(s
)库,我尝试了.\b2 runtime-link=static
并且尝试了'libbosst_regex-vc140-mt-s-1_61.lib'文件,现在一切正常。
我在here找到了这一点。