我已安装了boost库,并且我已将lib和include目录链接到我的解决方案。以及设置为 Not Using Precompiled Headers 。但是,当我测试简单提供的示例时,我在构建时会收到链接错误。
#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;
}
}
错误1错误LNK1104:无法打开文件 'libboost_regex-vc110-MT-GD-1_51.lib'
我搜索了lib文件夹,这个lib文件不存在。我下载并再次安装,它不在那里。它看起来像是在这个版本的boost中发出的。
顺便说一下,我已经安装了正则表达式的所有变量,我正在使用VS12。
更新:如果其他人遇到同样的问题,请尝试 NOT 使用boost安装程序并自行构建。
答案 0 :(得分:2)
必须构建一些Boost库 -
必须单独构建的唯一Boost库是: ... Boost.Regex
简单(但不推荐)的方法是从Internet下载所需的二进制文件。例如 - boostlib - Revision 9: /trunk/stage/lib。 然后将其添加到链接器 - &gt;一般 - &gt;其他图书馆目录