2010-07-23 4 views
0

VS2005에서 VS2005로 C++ 코드 기반을 업그레이드하고 일부 타사 C++ 종속성을 다시 작성하고 있습니다. 이 32 비트를 빌드하는 데는 문제가 없지만 64 비트 (64 비트)를 연결하는 데 계속 문제가 있습니다. 나는 표준 라이브러리 함수의 숫자에 대한 해결되지 않은 외부를 얻고있다.Visual Studio 2010 x64에서 C++ 링크 오류가 발생했습니다.

error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 

error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z) referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl YAML::Exp::Escape(class YAML::Stream &,int)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 

I 명시 적으로 링크 라인에 msvcprtd.lib을 추가하는 시도 및 라이브러리 해상도 디버깅을 활성화하고 검색 할 것으로 보인다 C : \ Program 파일 (x 86) \ 마이크로 소프트 비주얼 스튜디오 10.0 \ VC \ lib 디렉토리 \ 예를 들어 심볼에 대해 amd64 \ msvcprtd.lib를 찾았지만 찾지 못했습니다.

누구에게 이런 일이 발생했는지 알 수 있습니까?

답변

2

/showIncludes를 사용하여 어떤 헤더 파일을 가져 오는지 확인할 수 있습니다. 일반적으로 이러한 함수가 결과 바이너리로 인라인 될 것으로 예상됩니다.

+0

그게 문제였습니다. 그것은 사용되는 이전 VS에서 포함하는 것 같습니다. 나는 결국 문제를 추적했다. D & S \ Application Data \ MSBuild에는 이전 VS 포함 디렉터리를 가리키는 속성 시트가있었습니다. – Trevor

관련 문제