【问题标题】:C++ and boost librariesC++ 和 boost 库
【发布时间】:2012-02-21 20:46:44
【问题描述】:

我正在尝试在我的机器上设置 boost,因为我希望学习 boost,因为它可能是即将推出的新 C++ 标准的一部分。

我遇到了一个问题(尽管我尝试构建库时遇到了许多问题,现在似乎已经解决了)。

在构建库之后,它们现在驻留在 C:\MinGW\lib\libs 中,我有诸如 math、system、date_time 之类的文件夹,所有这些文件夹都由 .object 文件 .dll 和 .a 或库文件填充。 所以我相信我已经正确地构建了这些库。

我现在被困在尝试使用 boost 入门教程中的以下代码将库链接到我的可执行文件:

#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;
}
}

我正在使用 CodeBlocks 和 MinGW,所以我尝试将此程序与 -llibboost_regex-mgw45-1_47.dll.a 链接,这给了我一个错误,即尽管它存在于 libs\regex 中,但它无法找到该库,这是我的问题。

感谢您提供的所有帮助,并对新手问题表示抱歉!

【问题讨论】:

  • 至少再过 5 年以上不会有任何“新的、即将推出的 C++ 标准”......

标签: c++ boost


【解决方案1】:

与选项-lboost_regex 链接。使用-L 指定其他库搜索路径。

【讨论】:

  • 得到错误现在找不到-lboost_regex。我很茫然,链接器指向 libs 目录,其中的库位于
  • 谢谢,我编译了程序。所有的 boost 库都依赖于相应的 .dll 吗?
  • @Michael:只有少数库需要编译组件,例如正则表达式、文件系统和 ASIO。大多数 Boost 库都是只有头文件的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-13
  • 1970-01-01
  • 2015-07-03
  • 2016-09-19
  • 1970-01-01
  • 2011-04-25
  • 2018-06-10
相关资源
最近更新 更多