unique_ptr 자유롭게 제목을 편집 : 솔직히이 질문에 대한 중요한 정보를 무엇인지 잘 모릅니다 ... 나는 아주 이상한보고하고이상한 '누락 된 수입 기호는'표준을 사용하는 경우 :
(gRPC 및 Kinect10 SDK에 대해 작성된 pRt 유형은 gRPC 정적 라이브러리에 정의되어 있습니다.)하지만 std :: unique_ptr을 사용할 때만 기호를 누락했습니다. 나는 실제로 ptr을 사용하고 있지는 않지만 (아직) ptr을 사용하고 있지는 않지만, ptr을 네이티브로 변환하면 오류가 발생하지 않습니다.
왜 이런 일이 일어날 수 있습니까? 오류 LNK2019 : 내가 VS2015의 64에
std::unique_ptr<grpc::Server> m_server;
//grpc::Server* m_server;
1> libeay32.lib (rand_win.obj)를 컴파일하고 오류 LNK2019 : 확인되지 않은 외부 기호가 __imp_CreateCompatibleBitmap readscreen 기능에 1> libeay32.lib (rand_win.obj를) 참조 : 함수 readscreen에서 참조되는 확인되지 않은 외부 기호 __imp_DeleteObject 1> libeay32.lib (rand_win.obj) : 오류 LNK2019 : 확인되지 않은 외부 기호 __imp_GetDeviceCaps가 함수 읽기 화면에서 참조되었습니다. 1> libeay32.lib (rand_win.obj) : 오류 LNK2019 : 확인되지 않은 외부 기호 기능 readscreen에서 참조되는 __imp_GetDIBits 1> libeay32.lib (rand_win.obj) : 오류 LNK2019 : 해결되지 않은 외부 기호 __imp_GetObject W는 내가 선언을 반대하는 경우
이 오류가 사라 기능 readscreen에서 참조
//std::unique_ptr<grpc::Server> m_server;
grpc::Server* m_server;
========== 빌드 : 1 0 0 업에 실패, 성공 -date, 0 skipped ==========
또한 이상한 점은 오류 자체입니다. 이러한 오류는 gRPC 빌드 내에서 발생합니다. 내가 정적 라이브러리에 링크, 그래서 분명히 다른 lib에 링크를 놓칠 수 있습니다 (unique_ptr 일이 의미가있는 것으로 밝혀지면) -하지만 gRPC가 getDIBits를 호출하는 이유를 상상할 수 없었습니다. 이것은 어떤 의미가 있습니까? (참고 - 나는 소스 코드를 읽지 않고 그냥 이상하게 보입니다). 내가 연결 한 라이브러리가 서로 혼동을 일으킬 가능성이 있습니까? 이름/fn 정의 또는 다른 것 사이의 충돌로 가능합니까?
간단한 설명과 쉬운 수정. 내가 가장 좋아하는 - 고마워! – FrozenKiwi