隨筆-348  評論-598  文章-0  trackbacks-0

          漫長的編譯開始了,當然成功不會一蹴而就的,不出所料,錯誤出現了

          ost C: adb <= system/core/adb/fdevent.c

           

          host Executable: adb (out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb)

           

          out/host/linux-x86/obj/STATIC_LIBRARIES/libzipfile_intermediates/libzipfile.a(centraldir.o): In function `memset':

           

          /usr/include/bits/string3.h:82: warning: memset used with constant zero length parameter; this could be due to transposed parameters

           

          true

           

          Install: out/host/linux-x86/bin/adb

           

          host C++: atree <= build/tools/atree/atree.cpp

           

          host C++: atree <= build/tools/atree/files.cpp

           

          host C++: atree <= build/tools/atree/fs.cpp

           

          host Executable: atree (out/host/linux-x86/obj/EXECUTABLES/atree_intermediates/atree)

           

          true

           

          Install: out/host/linux-x86/bin/atree

           

          host C++: bb2sym <= development/emulator/qtools/bb2sym.cpp

           

          host C++: bb2sym <= development/emulator/qtools/trace_reader.cpp

           

          development/emulator/qtools/trace_reader.cpp: In function ‘char* ExtractDexPathFromMmap(const char*)’:

           

          development/emulator/qtools/trace_reader.cpp:1012: error: invalid conversion from ‘const char*’ to ‘char*’

           

          development/emulator/qtools/trace_reader.cpp:1015: error: invalid conversion from ‘const char*’ to ‘char*’

           

          make: *** [out/host/linux-x86/obj/EXECUTABLES/bb2sym_intermediates/trace_reader.o] 錯誤 1

          繼續求教于,Google和百度吧,原來是gcc版本的問題

          $gcc --version

           

          gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1

           

          Copyright (C) 2009 Free Software Foundation, Inc.

           

          This is free software; see the source for copying conditions.  There is NO

           

          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

           

           

          研究了一下發現問題主要出在Ubuntu10.4預置了gcc的版本是4.4,該版本編譯時對語法要求比較高,因此無法編譯源代碼,解決方法就是將gcc-4.4降級成gcc-4.3

           

          具體操作:

          sudo apt-get remove gcc-4.4(卸載gcc-4.4)

          sudo apt-get remove g++-4.4( 卸載g++-4.4)

          sudo apt-get install gcc-4.3(安裝gcc-4.3)

          sudo apt-get install g++-4.3(安裝g++-4.3)

           

          安裝完4.3版本后,執行gcc --version后會發現版本仍然是4.4,因為gcc已經和4.4版本進行了鏈接,因此需要對gcc重新進行鏈接

           

          具體操作:sudo ln -f /usr/bin/gcc-4.3 gcc

           

                              sudo ln -f/usr/bin/g++-4.3 g++

           

          這樣就可以用4.3版本的gcc和g++將原來的覆蓋掉,重新進入android源碼目錄執行make就可以正常編譯~~



          ---------------------------------------------------------
          專注移動開發

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2011-01-22 13:19 TiGERTiAN 閱讀(4130) 評論(0)  編輯  收藏 所屬分類: AndroidLinux
          主站蜘蛛池模板: 文山县| 成武县| 探索| 浦东新区| 静安区| 集贤县| 会东县| 维西| 桦甸市| 嘉禾县| 横山县| 财经| 库车县| 乐至县| 永仁县| 科技| 巴青县| 巴中市| 大余县| 东阳市| 长治市| 常山县| 威信县| 厦门市| 河曲县| 当雄县| 义乌市| 元江| 桓台县| 梅州市| 容城县| 永康市| 深圳市| 安康市| 清原| 射阳县| 寿光市| 绍兴市| 东明县| 义乌市| 锡林浩特市|