2011-11-25 38 views
5

Tôi cố gắng để biên dịch tăng trên Cygwin với sự giúp đỡ của following articlekhông được công nhận tùy chọn dòng lệnh khi biên dịch tăng cho android trên Cygwin

Nhưng khi tôi chạy sau tuyên bố

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

Nó bắt đầu biên soạn nhưng thất bại do lỗi sau:

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

tôi đang sử dụng Cygwin mới nhất và thúc đẩy 1.48.0

Tôi sẽ đánh giá cao nếu có ai có thể cho tôi một gợi ý để loại bỏ lỗi này.

Cập nhật:

Tôi tìm thấy giải pháp. Boost giả định Cygwin có trình biên dịch gcc MingW để nó thêm vào tùy chọn đặc biệt trong tập tin cấu hình "gcc.jam" Khi tôi gỡ bỏ tùy chọn nó chạy OK.

+0

Không sao để bạn có thể trả lời và chấp nhận câu hỏi của riêng bạn. Tôi nghĩ bạn phải đợi một chút thời gian trước khi stackoverflow cho phép bạn làm điều đó. –

Trả lời

0

ngắn

đèo target-os=android để b2

Giải thích

tôi phải đối mặt với cùng một vấn đề đối với Boost 1,59

Theo boost/tools/build/src/tools/gcc.jam dòng 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) ; 
     } 
    } 
} 

Như bạn thấy -mthreads phụ thuộc vào target-os param

Các vấn đề liên quan