2014-05-14 1 views
1

저는 C++ cross-platform 게임 엔진 인 cocos2d-x로 응용 프로그램을 작성하고 있습니다. 게임에서는 입력없이 UUID를 생성해야합니다. 그냥 함수 generateUuid을 호출하고 해당 함수가 반환하는 값을 std::string에 할당하려고합니다. Boost.uuid가 작업을 수행한다는 것을 알고 있습니다. 솔직히 내가 필요한 기능이 무엇인지 모르겠지만 가장 큰 문제는 Boost.uuid를 내 코드에 통합하는 방법을 모른다는 것입니다. build and use Boost once을 시도했지만 그 당시에는 전체 라이브러리를 설치했습니다. 내 필요에 맞는 최소한의 코드를 통합하는 단계는 무엇입니까? 또한 일부 헤더 파일을 포함 시키면 좋겠다. 그렇지 않으면 모든 플랫폼에서 작동하는지 확신 할 수 없다. cocos2d-x가 지원된다.Boost.uuid를 제 크로스 플랫폼 코드에 통합하는 방법은 무엇입니까?

Boost.uuid를 사용하는 방법을 배우려면 무엇을 할 것인지 또는 읽을 것을 가르쳐주십시오.

답변

2

Boost와 마찬가지로 Boost.Uuid도 header-only library입니다. 즉, #include하고 사용하는 기능 만 프로젝트에 포함됩니다. 따라서 전체 Boost 배포본을 include 경로 어딘가에 넣고 Boost.Uuid 헤더를 포함 시켜도 아무런 문제가 없습니다.

(Boost.Uuid 자체가 다른 부스트 헤더 파일에 따라 달라질 수 있습니다, 그래서 사람들은 또한 프로젝트의 일부가 될 수 있습니다.) 상기와

, 부스트의 표준 설치를 수행하지 않는 진짜 이유는 같이 없다 당신이 링크 한 질문에서; 좋은 라이브러리이고 실제로 사용하는 부분 만 최종 프로젝트의 일부가되거나 종속물이됩니다.

편집 : 당신이 정말 부스트의 하위 집합을하려면 BCP 유틸리티는이 작업을 수행 할 수 있도록 설계되었습니다. 나는 그것에 대한 경험이 없다. 귀하의 질문에 대답하기 위해 Boost는 크로스 플랫폼으로 설계되었으며 모든 것을 설치하고 자체 의존성을 처리하는 것이 가장 간단합니다.

+0

전체 부스트를 다운로드하고 설치하는 것이 좋습니다. Boost.UUID 부분 만 다운로드 할 수 있습니까? 내 말은 의존성을 가지고 있다는 것을 의미하지만 Boost의 하위 패키지는 자체 만족 (모든 의존성이 포함되어 있음)합니까? – Narek

+0

많은 플랫폼에서 교차 플랫폼 성은 어떻게됩니까? 작동할까요? – Narek