2013-10-29 10 views
0

를 사용하여 배치 파일에서이 소스 코드를 연결하고 내가 바로 수입하고있는 도서관은 지금 MSVCRT.LIB Kernel32.lib User32.lib
있습니다 내가 stringiostreamfstream을 포함 할 때까지 코드가 작동하고 일부 wofstream 객체를 만들 때 . 링커에서 다음과 같이 많은 미해결 기호 목록을 표시합니다.C++되지 않은 외부 기호 내가 컴파일하고 wofstream

std::_BADOFF 
static class std::locale::id std::codecvt 
std::_Xout_of_range 
std::_Fiopen 
std::basic_streambuf 
std::char_traits 
std::basic_ios 
std::locale::id::operator unsigned _int64 

그래서 어떤 라이브러리가 누락 될 수 있는지 궁금합니다. 링커에서 /nodefaultlib 옵션을 지정 했으므로 어떤 라이브러리를 사용할 지 결정할 수는 있지만 지금은이 문제가있어이 표준 함수에 대한 라이브러리를 찾을 수 없습니다. 짧은

+0

되지 않음 대답 (따라서 코멘트를) 찾을 수 MSDN 페이지입니다? –

+0

글쎄요, 문자열, iostream 및 fstream에 연결해야하는 특정 라이브러리를 알고 싶었지만 모든 표준 라이브러리를 연결할 수 있습니다. 적어도 표준에 어떤 라이브러리가 포함되어 있는지 알 수 있습니까? – ali

+0

표준은 컴파일러 프레임 워크를 정의하지 않습니다. 예를 들어 컴파일러는 모든 정의를 자체적으로 처리 한 다음 프로그램에서 하드 와이어 처리 할 수 ​​있습니다. 또는 여러 개의 라이브러리로 나눌 수 있습니다. 예 : GNU 프레임 워크에서 수학 라이브러리는 별개의 라이브러리입니다. –

답변

1

은 : MSVCPRT.LIB

이 기호는 C++ 런타임 라이브러리에 정의되어 있습니다. MSVCRT.lib (문자 P가 없다는 것에 유의하십시오.)과 연결 되더라도 C++ 런타임이 아니라 C 만입니다. 왜 표준 라이브러리를 연결 두려워 : 여기

그리고

는 유용 http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx