최근에 내 프로젝트에서 cmake로 시작하여 CMAKE를 사용하여 SDL을 포함 시켰습니다.cmake - 프로젝트에 다른 클래스 파일 표시
내 설치
: 는 지금은main.cpp
다시/구성 프로젝트를 생성 한 후 내 소스 파일이처럼 보이는 내에 포함 된 간단한 클래스 파일을 추가
CMakeLists.txt
cmake_minimum_required (VERSION 3.3.2)
project (2dgameengine)
set(MAIN_FILE
src/main.cpp
)
add_executable(2dgameengine
${MAIN_FILE}
)
target_sources(2dgameengine PUBLIC ${EXTRA_FILE})
set (SDL2_INCLUDE_DIR libs/sdl2/include)
set (SDL2_SOURCE_DIR libs/sdl2/src)
include_directories(${SDL2_INCLUDE_DIR} ${SDL2_INCLUDE_DIR})
target_link_libraries(2dgameengine ${SDL2_LIBRARY})
MAIN.CPP
#include <iostream>
#include <SDL.h>
#include "Tile.cpp"
int main() {
return 0;
}
Tile.cpp
class Tile {
// ...
}
어떻게 내 Xcode 프로젝트에 Tile.cpp 표시 할 수 있습니까?
편집하는 것은 이 언제든지 현실 세계를 칠 것 아무것도 없다. 난 * .h 및 * .cpp 파일에 내 * .cpp 클래스를 분할하는 것을 게으른 것이 었습니다. 따라서 * .cpp 파일을 포함 시켰습니다. 올바른 방법이 아니더라도 테스트 목적으로 만 사용됩니다.
cmake에 다른 소스 파일로 설정하려고했는데,이 파일이 내 의도에 포함되어 있기 때문에 작동하지 않습니다. 링커 오류가 있습니다 "MAIN.CPP는"
일반적으로 포함 된 파일에는'.c' 파일이 아닌'.h' 확장자 (* header * 파일)가 있습니다. '제 xcode 프로젝트에서 Tile.cpp를 볼 수있게 만드십시오 '라는 것은 무엇을 의미합니까? 프로그램을 컴파일 가능하게 만들려면 포함 된 파일이 들어있는 include 디렉토리를 지정해야합니다. – Tsyvarev
'.cpp' 파일을 다른'.cpp' 파일에 포함시키는 이유는 무엇입니까? 그것은 극히 비표준입니다. – Angew
이것은 cmake가 헤더 파일과 소스 파일을 다르게 취급하기 때문에 cmake 내부의 문제입니다. 파일이 헤더 나 확장자를 사용하는 소스 인 경우에 유추됩니다. – Oliv