2011-10-10 24 views
5

Tôi đã cố gắng tìm kiếm trên google và SO. Cho đến nay tôi chỉ có thể tìm thấy thông tin xung đột. Nếu quá khó để kết hôn với Boost và Android, có thể có sự thay thế? Tôi đặc biệt quan tâm đến smart_ptr, chủ đề, chức năng, lexical_cast, string_algo và container. Bất kỳ đầu vào nào được đánh giá cao. Cảm ơn bạn.Tăng C++ và Android 3

+0

Tại sao nó sẽ là quá khó để kết hôn Boost và Android? – Mankarse

Trả lời

6

Có xem xét dự án này: https://github.com/MysticTreeGames/Boost-for-Android

Boost for android là một bộ công cụ để biên dịch các phần chính của Boost C++ Libraries cho nền tảng Android.

Để biên dịch Boost cho Android, bạn có thể sử dụng tùy chỉnh NDK r4b do Dmitry Moskalchuk aka CrystaX cung cấp. Hoặc bạn có thể tải xuống chính thức NDK r5c.

Vì nó được viết NDK r6 đã được phát hành bởi Google (và tùy chỉnh bởi CrystaX). Vì vậy, tôi đề nghị bạn để xây dựng "Boost cho Android" so với NDK r6 mới nhất từ ​​CrystaX, như mô tả trên trang web của mình:


./build-android.sh crystax/ndk/root

Lệnh này sẽ tải và xây dựng tăng so với Crystax NDK và đầu ra tiêu đề cuối cùng và libs và trong thư mục xây dựng.

Bây giờ bạn đã được tăng biên dịch, bạn phải thêm nó vào tệp Android.mk của mình. Trước tiên hãy sao chép thư mục includelib vào thư mục jni của bạn. Tôi đã sao chép nó vào: /jni/boost/.

Thêm dòng sau vào Android.mk của bạn:

LOCAL_CFLAGS += -I$(LOCAL_PATH)/boost/include/ 
LOCAL_LDLIBS += -L$(LOCAL_PATH)/external/boost/lib/ -lboost_system -lboost_... 

LOCAL_CPPFLAGS += -fexceptions 
LOCAL_CPPFLAGS += -frtti 
+0

Có kịch bản xây dựng tăng cường cho android ndk mới nhất (r8) không? – 6opuc

+0

@ 6opuc Không phải là tôi biết. Tôi đoán bạn sẽ phải đợi phiên bản NDK r8 của CrystaX hoặc đăng một yêu cầu trên trình gỡ lỗi của mình. (Xem thêm: http://www.crystax.net/trac/ndk/ticket/6). – Idolon