fatal error: 'include/****.h' file not found
2019. 7. 22. 10:12ㆍC++
전과 마찬가지로,
CEF를 빌드하는 과정중에 문제가 생겼다.
CEF는 헤더파일들이 include 폴더에 다같이 모여있는데,
헤더파일들이 서로를 인클루드하려고 할 때,
#include ""****.h"가 아닌,
#include "include/****.h"와 같이 인클루드하게 돼있다.
#include "include/cef_base.h"
#include "include/cef_browser_process_handler.h"
#include "include/cef_command_line.h"
#include "include/cef_render_process_handler.h"
#include "include/cef_resource_bundle_handler.h"
#include "include/cef_scheme.h"
윈도 환경에서는 사람들이 문제 없이 빌드한 것으로 보인다.
하지만 내 경우, cmake가 include/include/****.h와 같은 경로로 헤더파일을 찾으려다 계속 실패하는 것이다.
(윈도 환경에서는 왜 잘되는지 이유는 모르겠으나)
해결방법은 간단했다.
헤더파일 탐색(?) 경로에 include 윗폴더를 지정해주는 것이다.
cef
|
+ - include
|
+ - - ****.h
위와 같은 경우,
cef를 헤더파일 탐색 경로로 정하면,
빌드 과정에서, 컴파일러는 "include/****.h"를 찾다가 실패하는 대로
다른 헤더파일 탐색 경로에서 탐색을 시도할 것이다.(탐색 경로는 여러군데 설정 가능)
그러다가, cef를 기준으로 찾게될 경우, include/****.h를 마침내 찾을 수 있을 것이다.
include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
cmake에 이 한 문장만 추가해주면 된다.
include_directories(): 헤더파일 탐색 경로를 추가/지정하는 함수이다.
${CMAKE_CURRENT_SOURCE_DIR}: 프로젝트 경로이다("cef")
'C++' 카테고리의 다른 글
| C++ 메모리의 모든 것 (0) | 2020.03.01 |
|---|---|
| CEF(Chromium Embedded Framework) (0) | 2019.07.14 |
| C++ 현재 시간 가져오기 (0) | 2019.06.08 |
| C/C++ 성능 최적화 (0) | 2019.05.17 |
| VSCode C++ Debugging Error (0) | 2019.04.27 |