LoginSignup
8
9

More than 5 years have passed since last update.

Cocos2d-xでBoostを使う

Last updated at Posted at 2015-06-03

iOSとAndroidプロジェクトでBoostを使用する手順のメモ
タイトルはCocos2d-xとしたがC++を使うプロジェクトなら
別にCocos2d-xは無くても使用可能

※ ただしヘッダーオンリーで使えるライブラリのみ 参考

実行した環境

  • Xcode v6.3.2
  • Android NDK r10e
  • Cocos2d-x v3.6

Boostをダウンロードしてプロジェクトに追加する

http://www.boost.org/
boost.png

インクルードパスを設定する(iOS)

TARGETS > Build Settings > Search Paths > Header Search Paths
に "$(SRCROOT)/../Libraries/boost/include" を追加する。
xcode.png

インクルードパスを設定する(Android)

Android.mkに 
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../Libraries/boost/includ
を追加する

Android.mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

$(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/HelloWorldScene.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

# ここに追加
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../Libraries/boost/include

# _COCOS_HEADER_ANDROID_BEGIN
# _COCOS_HEADER_ANDROID_END


LOCAL_STATIC_LIBRARIES := cocos2dx_static

# _COCOS_LIB_ANDROID_BEGIN
# _COCOS_LIB_ANDROID_END

include $(BUILD_SHARED_LIBRARY)

$(call import-module,.)

# _COCOS_LIB_IMPORT_ANDROID_BEGIN
# _COCOS_LIB_IMPORT_ANDROID_END

使ってみる

#include <string>
#include <boost/lexical_cast.hpp>
#include <boost/uuid/random_generator.hpp>
#include <boost/uuid/uuid_io.hpp>
#include "cocos2d.h"
void test_boost() {
    boost::uuids::random_generator gen;
    auto uuid = boost::lexical_cast<std::string>(gen());
    CCLOG("uuid = %s", uuid.c_str());
}

おわり

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9