2013-06-28 4 views
0

У меня довольно необычная проблема. Я пытаюсь сделать это:Чтение из std :: cin производит ошибку Linker

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)" ([email protected][email protected][email protected]@[email protected]@@[email protected]@[email protected][email protected]) main.obj 

Я проверил, что у меня есть все необходимые зависимости, связанные в свойствах проекта, проверенные, что у меня есть/MT set и т. П. Проект был составлен отлично всего несколько недель назад - единственное, что я сделал между тогда и сейчас, - это обновление 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> 
+0

Проверьте настройки проекта, чтобы проверить, не настроено ли оно игнорировать библиотеки по умолчанию. –

+0

Насколько я могу судить, ваши включения не включают 'iostream'. Либо это, либо вы используете 'gcc' вместо' g ++' для компиляции вашего кода. –

+0

делает ваш файл с «.c». Кажется, что компилятор C был вызван для компиляции вашей программы. –

ответ

0

Похоже, что после обновления Visual Studio 2012 проект (каким-то образом) стал нефункциональным. Проблема с копированием одного и того же кода в новый проект.