[C++] Winsock2 spdlog 충돌 에러 해결법
카테고리: Cpp
이 글은 프로젝트에 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);
}
💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸
댓글 남기기