为什么不能使用C ++ Boost Lib?

时间:2014-09-15 12:00:36

标签: c++ boost

我最近开始使用Boost Library,我遇到安装问题。

到目前为止我做的是:

  • 下载lib,将其解压缩到“C:/ Boost”目录。
  • 进入Visual Studio 2012 CMD +“cd C:/ Boost / boost1_56_0”。
  • 键入bootstrap.bat命令,然后键入b2命令。
  • 输入Visual并在C / C ++ General中添加 - >附加包含目录我之前提取的boost root lib的目录。
  • 在配置属性> C / C ++>预编译标题,将使用预编译标题(/ Yu)更改为不使用预编译标题

在该项目中,我制作了一个main.cpp文件,其中包含:

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

int main()
{
    using namespace boost::lambda;
    typedef std::istream_iterator<int> in;

    std::for_each(
        in(std::cin), in(), std::cout << (_1 * 3) << " " );
}

出于某种原因,我不再有任何线索,我得到了这些错误:

  1. LNK2019 - 函数__tmainCRTStartup中引用的未解析的外部符号_WinMain @ 16
  2. LNK1120 - 1个未解析的外部
  3. 我尝试使用来自互联网的少数地方的配置和命令,但没有结果。为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

在visual studio中创建一个新的控制台项目,它应该适合你。

您收到此错误的原因是您创建了一个Windows应用程序,并且Windows应用程序入口点称为WinMain

main是控制台应用程序的入口点,在您的情况下这是正确的。

虽然链接器正在寻找导致错误的WinMain,因为它无法找到入口点,因此无法解析外部符号。