반응형
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
경매하는 개발자
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
전체 방문자
오늘
어제
  • 분류 전체보기 (329)
    • IT (128)
      • 아두이노 (6)
      • C C++ (17)
      • C C++ 컴파일 에러 (3)
      • LINUX (3)
      • Git (1)
      • OpenGL (0)
      • IT 상식 (38)
      • EXCEL & VBA (9)
      • 정보처리기사 (20)
      • 무작정 웹사이트 만들기 (6)
      • 포토샵 (3)
      • 파이썬 & vscode (16)
      • 머신러닝 & 인공지능 & 데이터사이언스 (5)
    • 부동산 (91)
      • 부동산일반 (31)
      • 세금 (6)
      • 경매 (46)
      • 법, 소송 (8)
    • 개인사업자 (43)
      • 할 일 (11)
      • 꿀팁 (9)
      • 세금 (14)
      • 지원사업 (8)
    • 독후감 (25)
      • 독후감 (25)
    • 경제 (4)
      • 거시경제 (4)
    • Tistory (34)
      • 티스토리 (23)
      • 애드센스 (11)
    • 기타 (4)
      • 에세이 (2)
      • 퇴사준비 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 부의추월차선독후감
  • 온비드공동인증서
  • 공매
  • 온비드공인인증서
  • 온비드공매
  • 애드센스
  • 일반과세자
  • 티스토리애드센스
  • 부의추월차선서평
  • 경매
  • 세금계산서
  • 부의추월차선요약
  • 부의추월차선줄거리
  • 전입신고
  • 전자세금계산서
  • 부가가치세
  • 부의추월차선
  • 부의추월차선리뷰
  • 개인사업자
  • 확정일자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널

경매하는 개발자

[C/C++ 에러] C2375 : '~~': 재정의. 링크가 다릅니다. 오류
IT/C C++ 컴파일 에러

[C/C++ 에러] C2375 : '~~': 재정의. 링크가 다릅니다. 오류

2023. 7. 23. 14:47
반응형

[C/C++ 에러] C2375 : '~~': 재정의. 링크가 다릅니다. 오류

반응형

 

 

 

C Standard를 기준으로 설명하였다.

 

 DLL을 컴파일 할때 소스코드가 길어지고 CPP파일이 많아지고 헤더파일이 많아지면 재정의 오류가 생길수 있다. 

이상하게 헤더 중복 방직 매크로(#pragma once)를 달아놔도 컴파일을 할때 재정의 오류가 나는데 오류메시지는 보통 아래와 같다.

 

반응형

 


 

=============================================================================================

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(1815): error C2375: 'listen' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(789) : 'listen' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(1833): error C2375: 'ntohl' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(793) : 'ntohl' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(1850): error C2375: 'ntohs' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(795) : 'ntohs' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(1870): error C2375: 'recv' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(797) : 'recv' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(1895): error C2375: 'recvfrom' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(803) : 'recvfrom' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(1921): error C2375: 'select' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(811) : 'select' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(1945): error C2375: 'send' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(818) : 'send' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(1970): error C2375: 'sendto' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(824) : 'sendto' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(1996): error C2375: 'setsockopt' : 재정의. 링크가 다릅니다.

반응형

 



c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(832) : 'setsockopt' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2018): error C2375: 'shutdown' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(839) : 'shutdown' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2039): error C2375: 'socket' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(843) : 'socket' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2063): error C2375: 'gethostbyaddr' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(850) : 'gethostbyaddr' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2083): error C2375: 'gethostbyname' : 재정의.링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(855) : 'gethostbyname' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2101): error C2375: 'gethostname' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(857) : 'gethostname' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2121): error C2375: 'getservbyport' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(861) : 'getservbyport' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2141): error C2375: 'getservbyname' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(865) : 'getservbyname' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2160): error C2375: 'getprotobynumber' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(869) : 'getprotobynumber' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2178): error C2375: 'getprotobyname' : 재정의.링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(871) : 'getprotobyname' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2200): error C2375: 'WSAStartup' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(875) : 'WSAStartup' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2219): error C2375: 'WSACleanup' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(879) : 'WSACleanup' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2236): error C2375: 'WSASetLastError' : 재정의.링크가 다릅니다.

반응형


c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(881) : 'WSASetLastError' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2253): error C2375: 'WSAGetLastError' : 재정의.링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(883) : 'WSAGetLastError' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2270): error C2375: 'WSAIsBlocking' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(885) : 'WSAIsBlocking' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2287): error C2375: 'WSAUnhookBlockingHook' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(887) : 'WSAUnhookBlockingHook' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2304): error C2375: 'WSASetBlockingHook' : 재정의. 링크가 다릅니다.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock.h(889) : 'WSASetBlockingHook' 선언을 참조하십시오.

c:\\program files (x86)\\microsoft sdks\\windows\\v7.0a\\include\\winsock2.h(2321): error C2375: 'WSACancelBlockingCall' :재정의. 링크가 다릅니다.

=============================================================================================

 

반응형

 


위의 경우는 winsock2.h 헤더파일이 2번 이상 중복되서 생긴것이다.

 

각각의 헤더파일이나 CPP에서 해당 헤더파일이 한번만 선언하도록 하고

나머지 #include <winsock2.h>는 주석처리하도록 하면 해결할수 있다.'

반응형

'IT > C C++ 컴파일 에러' 카테고리의 다른 글

[C/C++] C2440 : double 에서 'double *' 으(로) 변환할 수 없습니다  (0) 2022.05.20
[C/C++ 에러] Visual Studio의 0xC00000FD: Stack overflow 오류  (0) 2021.02.22

    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널

    'IT/C C++ 컴파일 에러' 카테고리의 다른 글
    • [C/C++] C2440 : double 에서 'double *' 으(로) 변환할 수 없습니다
    • [C/C++ 에러] Visual Studio의 0xC00000FD: Stack overflow 오류
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널입니다.

    티스토리툴바