[오리지널] VS 컴파일로 만나는 오류와warning(지속 업데이트)

1952 단어 errorvsVCwarning
【error C2143】
error C2143:   :  “;”( “ ” )

원인: "C 코드로 컴파일(/TC)"방식으로 컴파일할 때 함수가 시작되는 위치에 변수를 정의하지 않았습니다.
【error LNK2019】
error LNK2019:   _abc,  _xyz  

원인: 현재 원본 파일 xyz에서 외부 기호 abc를 사용했지만 이 기호를 찾을 수 없습니다. 대응하는 것을 포함하지 않았기 때문입니다.lib 라이브러리 파일.또 다른 원인:
  • 포함되어 있습니다.lib 라이브러리에 해당하는 기호 abc를 내보내지 않았습니다
  • 또 다른 상황은 헤더 파일과 라이브러리 파일이 일치하지 않아서이다

  • 【error C2733】
    error C2733: second C linkage of overloaded function 'wmemchr' not allowed

    원인: C++ 모드에 있는 VC6 및 기타 VS 버전에 대해 ARM 관련 컴파일을 할 때 사용할 헤더 파일은'extern "C++"{} 처리됩니다.
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    #  include <wchar.h>
    
    #ifdef __cplusplus
    }
    #endif

    【error C2440】
    error C2440: “=”:  “void *” “void **”

    원인: 일반적으로 malloc 함수를 호출한 후에 다른 변수에 값을 부여할 때 나타난다. 주의해야 할 것은 이 오류가 발생하는 전제는 "C++ 코드로 컴파일(/TP)"에 따라 컴파일하는 것이고, "C 코드로 컴파일(/TC)"에 따라 컴파일하면 이 오류가 발생하지 않는다는 것이다.
    【error C2054】
    error C2054:  “inline” “(”

    원인: "이 오류는"
    C 코드로 컴파일(/TC)
    "컴파일할 때 내연 함수는 inline을 사용하여 표시되며 __를 사용하지 않습니다.인라인 표식.할 수 있다
    ""
    C 코드로 컴파일(/TC)
    "컴파일할 때 매크로 정의 #define inline __ 추가inline .
    【Warning C4251】
    warning C4251: 'AClass::m_variable' : class 'SomeTemplate<T>' needs
    to have dll-interface to be used by clients of class 'AClass'

    원인: 우박문장
    【Warning C4996】
    warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup.
    warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

    원인: 자세한 내용은 MSDN의 공식 설명을 참조하십시오.

    좋은 웹페이지 즐겨찾기