shared_ptr을 반환하는 함수를 내보내는 dll을 사용하고 있습니다.LINK2019 : shared_ptr을 반환하는 함수의 확인되지 않은 외부 기호 <int>
dll을 프로젝트에서 코드 :
#ifdef _WRAPPER
#define WRAPPER_DLL_EXT __declspec(dllexport)
#else
#define WRAPPER_DLL_EXT __declspec(dllimport)
#endif
std::shared_ptr<int> WRAPPER_DLL_EXT func()
{
return std::make_shared<int>(5);
}
DLL을 사용하여 프로젝트에서 코드 :
std::shared_ptr<int> myPointer = func();
내가 func()
에 대한 오류 LINK2019: unresolved external symbol
를 얻을.
DLL이 프로젝트는 DLL을 사용하여 프로젝트가 비주얼 스튜디오 2010 툴 세트를 사용하는 반면, 툴셋비주얼 스튜디오 2013를 사용하여 컴파일됩니다.
VS2010 도구 세트를 사용하여 dll을 컴파일하면 오류가 발생하지 않지만 실제로 VS2010과 함께 dll을 컴파일 할 수 없도록 구현시 VS2013 기능을 사용하고 있습니다. 사용중인 프로젝트를 VS2013으로 업그레이드 할 수 없습니다.
VS2013 툴 세트을 (를) 사용하여 프로젝트를 만들 수 있습니까?
편집 : 내가 변경하면 shared_ptr
에서 unique_ptr
으로 변경됩니다 (물론, 필요한 것은 아닙니다).