자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
개발환경 : C++Builder 10.1 Berlin(VCL Form Application)
Q,
새로운 C++빌더 VCL 프로젝트를 만들고, 다른 프로젝트에서 이미 만든 폼 새 프로젝트에 추가한 뒤 빌드하면 아래 오류가 발생합니다.
[ilink32 Error] Fatal: Unable to open file 'FRXCLASS.OBJ'
예를 들면,
프로젝트 1에 Unit1.cpp, Unit2.cpp
Unit2.cpp 화면(폼)에 FastReport 컴포넌트(TfrxReport) 추가
빌드 >> OK
프로젝트 2에 Unit1.cpp, Unit2.cpp(프로젝트1의 파일 복사 후 추가)
빌드 >> 오류(ilink32 error)
A,
해결 방법은 프로젝트2에서
1) Search > Find in files 메뉴 선택 후 "pragma link"로 검색합니다.
2) 검색된 유닛을 모두 열고 빌드하면 오류가 발생하지 않습니다.
(즉 문제가된 obj 파일 관련 컴포넌트를 사용한 화면을 열고 빌드하기 바랍니다.)
추정되는 원인은 컴포넌트의 정적 패키지 링크(<LinkPackageStatics>)가 프로젝트에 포함되지 않은 것으로 파악되며,
관련 컴포넌트가 포함된 화면을 열고 컴파일 시 프로젝트 옵션 파일(*.cbproj)파일에 아래의 굵은 글씨가 추가됩니다.
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<LinkPackageImports>rtl.bpi;vcl.bpi;frx24.bpi;vclx.bpi;vclimg.bpi</LinkPackageImports>
<LinkPackageStatics>fs24.lib</LinkPackageStatics>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<AppEnableHighDPI>true</AppEnableHighDPI>
</PropertyGroup>
화면을 열지 않은 상태(즉, 오류가 발생하는 상태)
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<LinkPackageImports>rtl.bpi;vcl.bpi</LinkPackageImports>
<AppEnableHighDPI>true</AppEnableHighDPI>
</PropertyGroup>
혹시 더 좋은 해결책을 아시는 분은 댓글 부탁드립니다.
댓글 0
개발환경 : C++Builder 10.1 Berlin(VCL Form Application)
Q,
새로운 C++빌더 VCL 프로젝트를 만들고, 다른 프로젝트에서 이미 만든 폼 새 프로젝트에 추가한 뒤 빌드하면 아래 오류가 발생합니다.
[ilink32 Error] Fatal: Unable to open file 'FRXCLASS.OBJ'
예를 들면,
프로젝트 1에 Unit1.cpp, Unit2.cpp
Unit2.cpp 화면(폼)에 FastReport 컴포넌트(TfrxReport) 추가
빌드 >> OK
프로젝트 2에 Unit1.cpp, Unit2.cpp(프로젝트1의 파일 복사 후 추가)
빌드 >> 오류(ilink32 error)
A,
해결 방법은 프로젝트2에서
1) Search > Find in files 메뉴 선택 후 "pragma link"로 검색합니다.
2) 검색된 유닛을 모두 열고 빌드하면 오류가 발생하지 않습니다.
(즉 문제가된 obj 파일 관련 컴포넌트를 사용한 화면을 열고 빌드하기 바랍니다.)
추정되는 원인은 컴포넌트의 정적 패키지 링크(<LinkPackageStatics>)가 프로젝트에 포함되지 않은 것으로 파악되며,
관련 컴포넌트가 포함된 화면을 열고 컴파일 시 프로젝트 옵션 파일(*.cbproj)파일에 아래의 굵은 글씨가 추가됩니다.
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<LinkPackageImports>rtl.bpi;vcl.bpi;frx24.bpi;vclx.bpi;vclimg.bpi</LinkPackageImports>
<LinkPackageStatics>fs24.lib</LinkPackageStatics>
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<AppEnableHighDPI>true</AppEnableHighDPI>
</PropertyGroup>
화면을 열지 않은 상태(즉, 오류가 발생하는 상태)
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
<LinkPackageImports>rtl.bpi;vcl.bpi</LinkPackageImports>
<AppEnableHighDPI>true</AppEnableHighDPI>
</PropertyGroup>
혹시 더 좋은 해결책을 아시는 분은 댓글 부탁드립니다.