2012-04-18 62 views
3

我正在同時建設在Mac OS X 10.7.3(獅子)在android源碼以下錯誤:錯誤,同時建立了Android源

host SharedLib: libSR_Recognizer (out/host/darwin-x86/obj/lib/libSR_Recognizer.dylib) 
Undefined symbols for architecture i386: 
    "_pushAudioIntoRecognizer", referenced from: 
     _SR_RecognizerAdvanceImpl in RecognizerImpl.o 
     _detectBeginningOfSpeech in RecognizerImpl.o 
    "_generatePatternFromFrame", referenced from: 
     _SR_RecognizerAdvanceImpl in RecognizerImpl.o 
    "_canPushAudioIntoRecognizer", referenced from: 
     _SR_RecognizerAdvanceImpl in RecognizerImpl.o 
     _detectBeginningOfSpeech in RecognizerImpl.o 
    "_generatePatternFromFrameEOI", referenced from: 
     _SR_RecognizerAdvanceImpl in RecognizerImpl.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [out/host/darwin-x86/obj/lib/libSR_Recognizer.dylib] Error 1 

任何線索?

回答

1

我找到了答案終於:)

運行可通過以下選項

make CC=gcc CXX=g++ -j4 

一切都將走暢

+1

我得到同樣的錯誤發現的問題,但是這並未」爲我工作。你能指出我如何配置你的環境嗎? – rciovati 2012-04-30 13:23:15

+0

我遵循http://source.android.com中給出的指示 – Pete 2012-05-01 06:11:20

+0

有同樣的錯誤,這沒有幫助... – arts777 2012-05-31 11:17:34

1

唯一正確的解決辦法是安裝的XCode 3 *

+1

訣竅是告訴make使用正確版本的編譯器,android代碼不是c99標準,xcode期望嚴格的c99標準代碼 – Pete 2012-06-03 05:04:30

3

解決此錯誤的最佳方法是:

  1. 安裝GCC-4.2和g ++ - 4.2:brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
  2. 設置CCCXX環境變量:export CC=/usr/local/bin/gcc-4.2 && export CXX=/usr/local/bin/g++-4.2
  3. 然後建立:make

如果您需要安裝自制的#1,去:Homebrew homepage

3

我以這種方式修復,我的編譯器看起來很高興。

vi ./external/srec/srec/Recognizer/src/RecognizerImpl.c 

所有PINLINE/*** PINLINE ***/取代 - 事實上它們全部刪除

0

這裏是固定在Android主STRAM - 外部/ SREC /便攜/包括/ PortExport.h

#if defined(__APPLE_CC__) 
    #if __APPLE_CC__ >= 5621 
    #undef PINLINE 
    #define PINLINE 
    #endif 
    #endif 
相關問題