win32 exe 프로젝트를 링크 할 때이 오류가 발생합니다. 이 메서드에 대한 코드가 들어있는 lib에 연결했습니다. 하지만 아직 해결되지 않은 기호 오류가 발생합니다. lib가 링크 될 때 해결되지 않은 외부 기호, 컴파일러가 함수 이름에 'A'문자를 추가합니다.
error LNK2001: unresolved external symbol "public: bool __thiscall SharedJobQueue::AddJobA(class boost::shared_ptr<class domain::Job>)" ([email protected]@@[email protected]@[email protected]@@[email protected]@@Z)
'dumpbin/symbols'의 출력을 살펴본 결과 AddJob이 아닌 AddJob에 대한 기호 만 포함되어 있습니다. 컴파일러가 함수 이름 끝에 'A'를 추가하는 이유는 무엇입니까?
매크로를 사용하여 win32 헤더에서 이미 "가져온"이름 목록이 있습니까? 그래서 내가 사용해서는 안되는 이름을 알 수 있습니다. –
좋은 질문입니다. 나는 거기 있다고 믿지 않지만, 다시는 보지 못했습니다. 가장 쉬운 방법은 msdn.microsoft.com으로 가서 "use"에 있는지 확인하는 데 사용할 함수의 이름을 검색하는 것입니다. –
나는 "매크로가 문제"라고 여기까지 멀지는 않을 것이다. 이것들은 저수준의 win32 API 전체에서 일정한 방식으로 사용됩니다. –