简体   繁体   English

Boost示例无法在VS2010上编译?

[英]Boost example doesn't compile on VS2010?

I was trying to get one of the boost examples from the website to work: 我正在尝试从网站上获取一些提升示例来工作:

http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/http/client/async_client.cpp http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/http/client/async_client.cpp

but whenever I built and tried to execute, I kept getting the following from VS2010: 但是每当我构建并尝试执行时,我都会不断从VS2010中获得以下信息:

1>------ Build started: Project: highfreqdemo, Configuration: Debug Win32 ------
1>Build started 24/10/2011 18:41:08.
1>InitializeBuildStatus:
1>  Touching "Debug\highfreqdemo.unsuccessfulbuild".
1>ClCompile:
1>  All outputs are up-to-date.
1>  highfreqdemo.cpp
1>c:\users\x\documents\visual studio 2010\projects\highfreqdemo\highfreqdemo\highfreqdemo.cpp(4): warning C4627: '#include <iostream>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\x\documents\visual studio 2010\projects\highfreqdemo\highfreqdemo\highfreqdemo.cpp(5): warning C4627: '#include <istream>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\x\documents\visual studio 2010\projects\highfreqdemo\highfreqdemo\highfreqdemo.cpp(6): warning C4627: '#include <ostream>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\x\documents\visual studio 2010\projects\highfreqdemo\highfreqdemo\highfreqdemo.cpp(7): warning C4627: '#include <string>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\x\documents\visual studio 2010\projects\highfreqdemo\highfreqdemo\highfreqdemo.cpp(8): warning C4627: '#include <boost/asio.hpp>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\x\documents\visual studio 2010\projects\highfreqdemo\highfreqdemo\highfreqdemo.cpp(9): warning C4627: '#include <boost/bind.hpp>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\x\documents\visual studio 2010\projects\highfreqdemo\highfreqdemo\highfreqdemo.cpp(199): fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.76
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I am a little unsure what exactly to do to remedy this? 我有点不确定该怎么做才能解决这个问题?

 Add directive to 'StdAfx.h' or rebuild precompiled header 

Your project is configured with precompiled header support but you have not included the precompiled header in your source file. 您的项目配置了预编译头支持,但是您没有在源文件中包含预编译头。

The precompiled header file (in this case, StdAfx.h ) needs to be included at the very top of every source file that is configured to use the precompiled header. 需要将预编译的头文件(在本例中为StdAfx.h )包含在每个配置为使用预编译的头的源文件的最顶部。

Either include this file or disable precompiled headers (In the project properties, under C/C++ -> Precompiled Headers, set the Precompiled Header property to "Not Using Precompiled Headers;" this can be set for individual source files as well). 要么包含此文件,要么禁用预编译头(在C / C ++->预编译头下的项目属性中,将“预编译头”属性设置为“不使用预编译头”;也可以为单个源文件设置此属性)。

The warnings and errors are pretty clear; 警告和错误非常清楚。 you need to add #include "StdAfx.h" to your highfreqdemo.cpp file, before including the standard and Boost headers. 您需要在包含标准标头和Boost标头之前,将#include "StdAfx.h"添加到highfreqdemo.cpp文件中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM