protobuf 的ndk編譯問(wèn)題

1 下載protobuf源碼脏里,我用的版本是2.6.0惹苗,并把google/protobuf 整個(gè)目錄拷貝到src/main/jni目錄下
2 修改config.h文件,如下:

#define HASH_MAP_H <ext/hash_map>
/* the namespace of hash_map/hash_set */
// Apparently Microsoft decided to move hash_map *back* to the std namespace
// in MSVC 2010:
//   http://blogs.msdn.com/vcblog/archive/2009/05/25/stl-breaking-changes-in-visual-studio-2010-beta-1.aspx
// TODO(kenton):  Use unordered_map instead, which is available in MSVC 2010.
#if _MSC_VER < 1310 || _MSC_VER >= 1600
#define HASH_NAMESPACE std
#else
#define HASH_NAMESPACE stdext
#endif

/* the location of <hash_set> */
#define HASH_SET_H <ext/hash_set>
#define HASH_NAMESPACE __gnu_cxx

/* define if the compiler has hash_map */
//#define HAVE_HASH_MAP 1

/* define if the compiler has hash_set */
//#define HAVE_HASH_SET 1

/* define if you want to use zlib.  See readme.txt for additional
 * requirements. */
// #define HAVE_ZLIB 1

#define HAVE_PTHREAD

3 添加Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := protobuf
LOCAL_CFLAGS := -std=c++11 -fexceptions -frtti
LOCAL_MODULE_FILENAME := libprotobuf
LOCAL_SRC_FILES :=  \
            google/config.h  \
            google/protobuf/stubs/atomicops_internals_x86_gcc.cc         \
            google/protobuf/stubs/atomicops_internals_x86_msvc.cc        \
            google/protobuf/stubs/common.cc                              \
            google/protobuf/stubs/once.cc                                \
            google/protobuf/stubs/hash.h                                 \
            google/protobuf/stubs/map_util.h                             \
            google/protobuf/stubs/shared_ptr.h                           \
            google/protobuf/stubs/stringprintf.cc                        \
            google/protobuf/stubs/stringprintf.h                         \
            google/protobuf/extension_set.cc                             \
            google/protobuf/generated_message_util.cc                    \
            google/protobuf/message_lite.cc                              \
            google/protobuf/repeated_field.cc                            \
            google/protobuf/wire_format_lite.cc                          \
            google/protobuf/io/coded_stream.cc                           \
            google/protobuf/io/coded_stream_inl.h                        \
            google/protobuf/io/zero_copy_stream.cc                       \
            google/protobuf/io/zero_copy_stream_impl_lite.cc             \
            google/protobuf/stubs/strutil.cc                             \
            google/protobuf/stubs/strutil.h                              \
            google/protobuf/stubs/substitute.cc                          \
            google/protobuf/stubs/substitute.h                           \
            google/protobuf/stubs/structurally_valid.cc                  \
            google/protobuf/descriptor.cc                                \
            google/protobuf/descriptor.pb.cc                             \
            google/protobuf/descriptor_database.cc                       \
            google/protobuf/dynamic_message.cc                           \
            google/protobuf/extension_set_heavy.cc                       \
            google/protobuf/generated_message_reflection.cc              \
            google/protobuf/message.cc                                   \
            google/protobuf/reflection_ops.cc                            \
            google/protobuf/service.cc                                   \
            google/protobuf/text_format.cc                               \
            google/protobuf/unknown_field_set.cc                         \
            google/protobuf/wire_format.cc                               \
            google/protobuf/io/gzip_stream.cc                            \
            google/protobuf/io/printer.cc                                \
            google/protobuf/io/strtod.cc                                 \
            google/protobuf/io/tokenizer.cc                              \
            google/protobuf/io/zero_copy_stream_impl.cc                  \
            google/protobuf/compiler/importer.cc                         \
            google/protobuf/compiler/parser.cc


LOCAL_EXPORT_C_INCLUDES :=
LOCAL_EXPORT_LDLIBS :=

LOCAL_C_INCLUDES := $(LOCAL_PATH)/google/config.h  \
$(LOCAL_PATH)/src

LOCAL_LDLIBS := -llog -lz

include $(BUILD_SHARED_LIBRARY)
#include $(BUILD_STATIC_LIBRARY)

4 添加Appliction.mk

APP_MODULES      := protobuf
APP_PLATFORM     := android-19
APP_ABI          := all
APP_STL := c++_static
APP_OPTIM        := release

5 在jni目錄下執(zhí)行ndk-build即可箍邮。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末酿炸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子齐佳,更是在濱河造成了極大的恐慌私恬,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炼吴,死亡現(xiàn)場(chǎng)離奇詭異本鸣,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)硅蹦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門荣德,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)闷煤,“玉大人,你說(shuō)我怎么就攤上這事涮瞻〔芸” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵饲宛,是天一觀的道長(zhǎng)皆愉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)艇抠,這世上最難降的妖魔是什么幕庐? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮家淤,結(jié)果婚禮上异剥,老公的妹妹穿的比我還像新娘。我一直安慰自己絮重,他們只是感情好冤寿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著青伤,像睡著了一般督怜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狠角,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天号杠,我揣著相機(jī)與錄音,去河邊找鬼丰歌。 笑死姨蟋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的立帖。 我是一名探鬼主播眼溶,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼晓勇!你這毒婦竟也來(lái)了堂飞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤宵蕉,失蹤者是張志新(化名)和其女友劉穎酝静,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羡玛,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡别智,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稼稿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片薄榛。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡讳窟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出敞恋,到底是詐尸還是另有隱情丽啡,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布硬猫,位于F島的核電站补箍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏啸蜜。R本人自食惡果不足惜坑雅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衬横。 院中可真熱鬧裹粤,春花似錦、人聲如沸蜂林。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)噪叙。三九已至矮锈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間构眯,已是汗流浹背愕难。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惫霸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓葱弟,卻偏偏與公主長(zhǎng)得像壹店,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芝加,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354