C++ 从std::cin读取会产生链接器错误

C++ 从std::cin读取会产生链接器错误,c++,linker,std,fastcgi,C++,Linker,Std,Fastcgi,我有一个相当不寻常的问题。我正在尝试这样做: char *content = new char[10000]; std::cin.read(content, 10000); 我得到了以下链接器错误(奇怪的是,代码在几周前编译得很好,而且还没有修改): 错误LNK2001:未解析的外部符号“\uu declspec(dllimport)public:class std::basic\u istream&\uu thiscall std::basic\u istream::read(char*,\

我有一个相当不寻常的问题。我正在尝试这样做:

char *content = new char[10000];
std::cin.read(content, 10000);
我得到了以下链接器错误(奇怪的是,代码在几周前编译得很好,而且还没有修改):

错误LNK2001:未解析的外部符号“\uu declspec(dllimport)public:class std::basic\u istream&\uu thiscall std::basic\u istream::read(char*,\uu int64)”(\uu imp\uu?read@$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV12@PAD_J@Z) main.obj
我验证了我已经在项目属性中链接了所有必需的依赖项,验证了我已经设置了/MT等等。就在几周前,这个项目的编译还不错——从那时到现在,我唯一做的事情就是更新VS2012。这是我的包裹

#include <stdlib.h>

#ifdef _WIN32
    #include <process.h>
#else
    #include <unistd.h>
    extern char ** environ;
#endif

#include "fcgio.h"
#include "fcgi_config.h"

#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/algorithm/string.hpp>
#包括
#ifdef_WIN32
#包括
#否则
#包括
外部字符**环境;
#恩迪夫
#包括“fcgio.h”
#包括“fcgi_config.h”
#包括
#包括
#包括

似乎在更新Visual Studio 2012后,该项目(不知何故)变得不起作用。将完全相同的代码复制到新项目中已修复了此问题。

检查项目设置,查看是否将其配置为忽略默认库。据我所知,您的包含不包含
iostream
。或者您正在使用
gcc
而不是
g++
来编译代码。您的文件是否以“.c”结尾。似乎调用了C编译器来编译您的程序。您的
read
函数调用有错误。它应该是
std::cin.read(内容,10000)
内容
参数前面没有星号。我感谢大家的帮助。它没有忽略默认的libs,包括iostream不工作,文件以.h结尾。我真是不知所措。
#include <stdlib.h>

#ifdef _WIN32
    #include <process.h>
#else
    #include <unistd.h>
    extern char ** environ;
#endif

#include "fcgio.h"
#include "fcgi_config.h"

#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/algorithm/string.hpp>