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

时间:2013-06-28 22:48:26

标签: c++ linker std fastcgi

我有一个相当不寻常的问题。我想这样做:

char *content = new char[10000];
std::cin.read(content, 10000);

我收到以下链接器错误(很奇怪,因为几周前代码编译正常,并且尚未修改):

Error LNK2001: unresolved external symbol "__declspec(dllimport) public: class std::basic_istream<char,struct std::char_traits<char> > & __thiscall std::basic_istream<char,struct std::char_traits<char> >::read(char *,__int64)" (__imp_?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>

1 个答案:

答案 0 :(得分:0)

在更新Visual Studio 2012之后,项目(某种程度上)变得无法正常运行。将完全相同的代码复制到新项目已解决了这个问题。