2010-03-03 3 views
3

크로스 플랫폼 2D 게임 엔진을 만들고 싶었고 은 Makefile로 크로스 플랫폼 프로젝트를 만드는 방법을 알고 싶습니다. 그래서 선택한 플랫폼으로 컴파일 할 수 있습니다. 모든 플랫폼에 대한 맞춤 규칙이 있습니다. Visual C++ Express 2008을 사용하여 Windows 환경에서 작업 중이므로 Visual C++ Express를 IDE로 사용할 수 있다면 이 좋을 것입니다.크로스 플랫폼 C++ 라이브러리 만들기

내 플랫폼은 아직 Nintendo DS와 PC입니다.

무엇을하라고 지시하십시오.

미리 감사드립니다. Tamir.

답변

5

make를 사용하지 마십시오. cmake와 같은 플랫폼이 아닌 도구를 사용하면 플랫폼 별 생성물이 처리됩니다. Windows와 마찬가지로 Visual Studio를 사용하는 프로젝트 파일을 생성합니다. Linux에서는 GNU make 파일을 생성합니다. 올바른 라이브러리와 모든 것을 올바른 버전으로 찾을 수 있도록 설정할 수 있습니다. Cmake는 훌륭합니다.

CMake는 컴파일러가 아니며 둘 다 make가 아닙니다. 이것은 크로스 플랫폼 빌드 자동화 시스템입니다. 이 도구를 사용하면 모든 플랫폼에서 개발할 수 있으며 실행중인 플랫폼 용으로 개발 중이라고 가정하는 것이 기본값입니다. 다른 일을하고 싶다면 매개 변수를 지정할 수 있습니다. 그러나 대부분의 "크로스 플랫폼"항목은 여전히 ​​코드에 남아 있습니다. Boost과 같이 많은 플랫폼에서 테스트 된 라이브러리도 권장합니다. Boost를 사용하면 모든 코드가 모든 시스템에서 원활하게 작동하도록 유지할 수 있으며 기본적으로이 코드를 사용하는 데 오버 헤드가 없습니다.

+0

빠른 응답 주셔서 감사합니다, 나는 CMake 시도하고 이것이 작동하는 경우 귀하의 답변을 결정합니다. –

+0

아이디어를 얻으려면 CMake가 컴파일 등을 담당하지만 특정 플랫폼을 지원하고 있습니까? 나는 또한 arm7/arm9 프로세서를 사용하는 Nintendo DS 용으로 컴파일 할 계획이기 때문에. –

+0

나는 내가 더 분명해야한다고 생각한다. 나는 나의 대답을 편집하고있다. –

0

Makefile을 사용하여 #defines를 할 수 있다는 것을 알고 있습니다. #defines는 차례로 코드 조각을 교환하는 일반적인 방법입니다. Mac/Windows/Linux의 차이점에도 불구하고 플랫폼을 감지 할 수있는 방법이 있습니다.

또한 트래비스가 맞을 것입니다. 메이크 파일 자체를 크로스 플랫폼으로 만드는 것은 정말 훌륭합니다. 서버와 물건을 빌드하는 것이 더 쉽기 때문입니다.

관련 문제