Visual Studio에서 링크 오류가 발생합니다. 두 가지 프로젝트가 있습니다. 하나는 정적 라이브러리이고 다른 하나는 실행 파일입니다. .lib 파일과 라이브러리 디렉터리를 찾을 수 있도록 .exe 프로젝트 속성을 지적했습니다. 아직 사용하려고하는 프로젝트의 기능을 여전히 감지하지 못하는 이유는 확실하지 않습니다. 또한 기능 서명이 일치하고 구현되었는지 확인했습니다.C++ : 다른 프로젝트의 함수 사용
내가 시도해 볼 수있는 다른 제안 사항은 무엇입니까? 또한 프로젝트 종속성 설정이 정확히 무엇입니까? .exe 프로젝트를 정적 lib 프로젝트에 의존하도록 설정하려고했지만 아무 것도 변경되지 않습니다.
1>------ Build started: Project: TestAgent, Configuration: Debug Win32 ------
1> Creating library Win32\Debug\TestAgent.lib and object Win32\Debug\TestAgent.exp
1>Registrar.obj : error LNK2019: unresolved external symbol "public: long __thiscall StudentManager::Register(class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@[email protected]) referenced in function "public: void __thiscall Registrar::PopulateClasses(struct HWND__ *)" ([email protected]@@[email protected]@@Z)
1>TestCase1.obj : error LNK2001: unresolved external symbol "public: long __thiscall StudentManager::Register(class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@[email protected])
1>Registrar.obj : error LNK2019: unresolved external symbol "public: long __thiscall SectionManager::Register(class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@[email protected]) referenced in function "public: void __thiscall Registrar::PopulateClasses(struct HWND__ *)" ([email protected]@@[email protected]@@Z)
1>TestCase1.obj : error LNK2001: unresolved external symbol "public: long __thiscall SectionManager::Register(class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &,class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > const &)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@[email protected])
1>TeacherSectionManager.obj : error LNK2001: unresolved external symbol "private: static class ATL::CStringT<unsigned short,class StrTraitMFC<unsigned short,class ATL::ChTraitsCRT<unsigned short> > > Registration::m_strServiceBaseUrl" ([email protected]@@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@A)
1>Win32\Debug\TestAgent.exe : fatal error LNK1120: 3 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
_Also, 프로젝트 종속성 설정은 정확히 무엇입니까? _ 프로젝트 빌드 순서를 설정합니다. 프로젝트 A가 프로젝트 B에 의존하면 프로젝트 B가 항상 먼저 작성됩니다. – computerfreaker
두 프로젝트를 동일한 솔루션 파일에 넣은 다음 실행 프로젝트의 속성 페이지 -> 공용 속성 -> 새 참조 추가로 이동하여 실행 가능 프로젝트의 속성에 정적 라이브러리 참조를 추가합니다. – LMC
또는 프로젝트가 "종속 라이브러리 링크"로 설정되어 있는지 확인하십시오. 그렇게하면 현재 프로젝트가 종속되어있는 프로젝트가 .lib 출력을 생성합니다 (DLL 가져 오기 라이브러리 또는 정적 라이브러리에 의해). 그러면 자동으로 종속성이 연결됩니다. – WhozCraig