2011-11-25 11 views
5

sto cercando di compilare spinta su Cygwin con l'aiuto di following articlenon riconosciuta opzione della riga di comando durante la compilazione spinta per Android su cygwin

Ma quando mi sono imbattuto seguente dichiarazione

bjam --without-python --without-serialization toolset=gcc-android4.4.3 link=static runtime-link=static target-os=linux --stagedir=android 

E 'iniziato la compilazione ma non è riuscito a causa di seguente errore:

cc1plus.exe: error: unrecognized command line option "-mthreads" 

sto usando ultima cygwin e aumentare 1.48.0

Apprezzerei se qualcuno mi può dare un suggerimento per rimuovere questo errore.

Aggiornamento:

Ho trovato la soluzione. Supponiamo che cygwin abbia il compilatore gcc MingW, quindi ha aggiunto quell'opzione speciale nel file di configurazione "gcc.jam" Una volta rimossa l'opzione, l'operazione è andata a buon fine.

+0

Va bene per voi per rispondere e accettare la propria domanda. Penso che devi aspettare un po 'di tempo prima che StackOverflow ti permetta di farlo. –

risposta

0

Breve

Passo target-os=android a b2

Spiegazione

ho affrontato con lo stesso problema per Boost 1.59

Secondo boost/tools/build/src/tools/gcc.jam linea 1024

rule setup-threading (targets * : sources * : properties *) 
{ 
    local threading = [ feature.get-values threading : $(properties) ] ; 
    if $(threading) = multi 
    { 
     local target = [ feature.get-values target-os : $(properties) ] ; 
     local option ; 
     local libs ; 

     switch $(target) 
     { 
      case android : # No threading options, everything is in already. 
      case windows : option = -mthreads ; 
      case cygwin : option = -mthreads ; 
      case solaris : option = -pthreads ; libs = rt ; 
      case beos : # No threading options. 
      case haiku : option = ; 
      case *bsd : option = -pthread ; # There is no -lrt on BSD. 
      case sgi  : # gcc on IRIX does not support multi-threading. 
      case darwin : # No threading options. 
      case *  : option = -pthread ; libs = rt ; 
     } 

     if $(option) 
     { 
      OPTIONS on $(targets) += $(option) ; 
     } 
     if $(libs) 
     { 
      FINDLIBS-SA on $(targets) += $(libs) ; 
     } 
    } 
} 

Come si può vedere -mthreads dipende target-os param

Problemi correlati