C++ Builder 10.2 Tokyo > Error: 미해결 외부 기호 'System::Win::Comobj::CoInitFlags' 참조... > 해결

4332 단어 cppBuilder버그IDE
운영 환경
RAD Studio 10.2 Tokyo Update 2

프로젝트를 빌드할 때 다음을 포함하는 오류가 발생합니다.

[ilink32 오류] Error: 미해결 외부 기호 'System::Win::Comobj::CoInitFlags' C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\RTLE.LIB|syssupp 에서 참조됩니다.

오류 발생 절차


  • 파일 > 새로 만들기 > 기타를 선택
  • C++ Builder 프로젝트 > 콘솔 애플리케이션 선택
  • 「신규 콘솔 어플리케이션」다이얼로그에서 「타겟 프레임워크」는 「없음」을 선택
  • >> 이하의 편지지가 가능하다.


  • File1.cpp
    #pragma hdrstop
    #pragma argsused
    
    #ifdef _WIN32
    #include <tchar.h>
    #else
      typedef char _TCHAR;
      #define _tmain main
    #endif
    
    #include <stdio.h>
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        return 0;
    }
    

    다음과 같이 다시 씁니다.

    File1.cpp
    #include <vcl.h>
    #include <windows.h>
    
    #pragma hdrstop
    #pragma argsused
    
    #ifdef _WIN32
    #include <tchar.h>
    #else
      typedef char _TCHAR;
      #define _tmain main
    #endif
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        String lpath = L"TEST";
        return 0;
    }
    
  • 파일 빌드: 성공
  • 프로젝트 빌드 : 다음 오류가 발생합니다

  • [ilink32 오류] Error: 미해결 외부 기호 'fastcall System::Internal::Strhlpr::UnicodeFree(System::UnicodeString&)' C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\VCLE.LIB|ustring에서 참조됨
    [ilink32 오류] Error: 미해결 외부 기호 'fastcall System::Internal::Strhlpr::UnicodeSetLength(System::UnicodeString&, int)' 가 C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\19.0\LIB\WIN32\DEBUG\VCLE.LIB|ustring에서 참조됨
    [ilink32 오류] 오류: 링크를 실행할 수 없습니다.
    실패

    대처



    새로운 콘솔 응용 프로그램을 만들 때 대상 프레임 워크를 "비주얼 구성 요소 라이브러리"로 만듭니다.



    작성된 히나형에 대해 다음과 같이 재기록한다.

    File1.cpp
    #include <vcl.h>
    #include <windows.h>
    
    #pragma hdrstop
    #pragma argsused
    
    #include <tchar.h>
    
    #include <stdio.h>
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        String lpath = L"TEST";
        return 0;
    }
    
  • 파일 빌드: 성공
  • 프로젝트 빌드: 성공

  • Bug인가 사양인가?



    타겟 프레임워크의 선택에 의해, File1.cpp 이외의 부분에서 무언가가 다른 것일 것이다.

    빌드 에러의 메시지를 본 것만으로는 위의 대처에 도달하지 못할 것이다.

    함정



    새 콘솔 응용 프로그램 대화 상자에서 대상 프레임 워크
    는 IDE 설치 직후는 "없음"입니다.

    일단 "비주얼 컴포넌트 라이브러리"로 변경하면, 그 변경이 이후 기억된다.

    최초의 상태와는 다른 설정을 하고 있는 경우, 환경을 재구축했을 때에 에러가 발생하게 되어, 그 원인 특정에 시간을 걸린다.

    좋은 웹페이지 즐겨찾기