2011-11-25 8 views
5

Próbuję skompilować impuls na Cygwin z pomocą following articlenierozpoznana opcja wiersza poleceń podczas kompilacji impuls dla Androida na Cygwin

Ale kiedy wpadłem następujące oświadczenie

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

Zaczęło kompilację, ale nie ze względu na następujący błąd:

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

używam najnowszego Cygwin i zwiększyć 1.48.0

Byłbym wdzięczny, jeśli ktoś może dać mi wskazówkę, aby usunąć ten błąd.

Aktualizacja:

Znalazłem rozwiązanie. Boost założono, że cygwin ma kompilator MingW gcc, więc dodał specjalną opcję w pliku konfiguracyjnym "gcc.jam" Po usunięciu opcji uruchomiono OK.

+0

To dobrze, aby odpowiedzieć i zaakceptować swoje własne pytanie. Myślę, że musisz trochę poczekać, zanim stackoverflow pozwoli ci to zrobić. –

Odpowiedz

0

Krótki

Przełęcz target-os=android do b2

Wyjaśnienie

mam do czynienia z tym samym numerze Boost 1.59

Według boost/tools/build/src/tools/gcc.jam linii 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) ; 
     } 
    } 
} 

Jak widać -mthreads zależy target-os param

Powiązane problemy