[C++] Winsock2 spdlog 충돌 에러 해결법

Date:     Updated:

카테고리:

태그:

이 글은 프로젝트에 spdlog를 도입하면서 발생한 오류 해결법을 적어둔 글이다.
spdlog.h에서 #include <functional>를 하는데 문제는 functional 헤더에 있는 bind 함수와 Winsock2에 있는 bind 함수가 이름이 같아 발생하는 문제이다

문제 원인

  • spdlog.h에서 #include <functional>를 하는데 문제는 functional 헤더에 있는 bind 함수와 Winsock2에 있는 bind 함수가 이름이 같아 발생하는 문제이다

해결법

  • bind 함수 앞에 ::를 붙여주어서 Winsock2에 있는 bind 함수를 사용하겠다고 만들어주면 된다

코드 예시

if (::bind(g_hListenSocket, reinterpret_cast<sockaddr*>(&serverAddr), sizeof(serverAddr)) == SOCKET_ERROR) {
	Log("bind error!");
	::closesocket(g_hListenSocket);
}


💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우 
  언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸

맨 위로 이동하기

Cpp 카테고리 내 다른 글 보러가기

댓글 남기기