일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- unreal_contentmanagement
- unity package_androidlib
- python3.12.4
- jenkins_sudo
- unreal_binaryselection
- python_distutils_module_missing
- ChatGPT
- apkipa업로드저장소
- dxt
- unrealbuildshellscript
- unreal_flavorselection
- jenkins_role관리_플러그인
- xcode-select_jeknins
- jenkins_owasp
- xcode_targeting
- jenkins_계정삭제
- unrealbuildcommand
- sourcetree_accessdenied
- owasp_dependency_check
- unreal_android_빌드옵션
- molocon24후기
- asset database_androidlib
- molocon24내용정리
- sourcetree_authencicationfailed
- owasp_depdendency_check_shell
- appcenter대체
- Unity2022
- etc2
- molocon24
- cookcontent
- Today
- Total
mystic-agit 개발 블로그
error: undefined reference to 빌드 에러 발생 시 본문
Android Studio에서 Cocos2d-x를 적용한 프로젝트를 빌드 중
error: undefined reference to 'vtable for
와 같은 에러를 확인하였다.
Android Studio에서
- Build > Clean Project
- Build > Refrech Linked C++ Projects
- 프로젝트에서 /build 폴더 수동 제거
해보았지만 에러가 여전한 상황..
상황이 발생한 원인은
.h와 .cpp 또는 .hpp와 .cpp 를 코드 추가하여 작업한 뒤로 발생하였다.
일단 아래와 같이 확인을 천천히 진행한다.
(1) Android.mk 및 CMakeList.txt 파일에 새로 구성한 .cpp 파일을 정상 참조하는지 확인
: 경로가 온전히 선언되어 있다면 pass
: 경로 설정 시 폴더 이름을 작성할때 " ../폴더 이름 " 또는 " ../폴더 이름/ " 둘 중 어느 형태로 작성되어있는지 꼼꼼히 확인한다.
기존에 정리되어있는 형태를 따라 " / " 추가가 필요한지 여부를 체크한다.
(2) Android Studio 프로젝트 모듈 수준의 구성 이하에서 /.cxx 폴더 및 이하를 모두 삭제
: /.cxx 이하를 제거할 경우 헤더(.h, .hpp)와 소스코드(.cpp)를 통해 발생하였던 라이브러리 파일이 제거된다.
이후 빌드를 다시 진행하면 헤더와 소스코드를 참조하여 심볼 확인 > 라이브러리를 재구성하게 되고
방금 구성한 헤더와 소스코드에 문법적 오류만 없다면 "error: undefined reference to" 에러 발생하지 않고 정상 빌드된다.
(Android Studio에서 c++ 플러그인 작업을 하는 경우 문법적 오류 발생 시 빌드 에러가 그닥 친절하지 않다.
간혹 함수를 잘못된 파라메터 형태로 사용 시 함수 사용에 문제가 있다는 에러가 아닌 "함수 찾을 수 없음.. " 으로 빌드 에러 발생하여
#include만 주구장창 뒤지는 경우가 발생하니 코드 작성 시 꼼꼼할 수 있도록 하자)
'Cocos2d-x' 카테고리의 다른 글
C++ 변수 타입 형 변환 (0) | 2023.04.18 |
---|---|
C++ 클래스명 중복 사용 시 runtime 중 크래시 이슈 (0) | 2023.04.18 |