Tùy chọn trình biên dịch Android ++ C ++

eyal 05/09/2017. 2 answers, 83 views
c++ android-studio android-studio android-ndk android-ndk jni

Trong khi cố gắng chạy mã của tôi, bao gồm các tệp C ++ tôi nhận được lỗi sau:

Error:(32, 2) error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. 

Làm thế nào nó có thể được giải quyết? Đây là dự án đầu tiên của tôi có liên quan đến các tệp C ++.

4 Comments
Asu 06/11/2016
Bạn phải bật "tùy chọn trình biên dịch -std = c ++ 11 hoặc -std = gnu ++ 11".
1 Christian Hackl 06/11/2016
Học C ++ trên Android là một ý tưởng rất tồi. Dù sao, bạn phải bằng cách nào đó làm cho IDE của bạn vượt qua các cờ chính xác để trình biên dịch để sử dụng C + + 11 tính năng và / hoặc sử dụng một trình biên dịch mà C ++ 11 không còn thử nghiệm. Tôi nghe có một số "Customize C ++ Hỗ trợ" nút hoặc trình đơn thả xuống một nơi nào đó trong giao diện người dùng có thể làm điều đó cho bạn.
eyal 06/11/2016
Tôi biết tôi phải sử dụng -std = c ++ 11 hoặc -std = gnu ++ 11 nhưng làm thế nào tôi có thể cấu hình đó?
Michael 06/11/2016
Có nhiều cách để tạo mã gốc từ Android Studio và tôi không thấy bất kỳ đề cập nào về cách bạn đang sử dụng. Nếu bạn có tệp Android.mk, bạn có thể thêm bất kỳ cờ nào bạn muốn vào đó vào LOCAL_CPPFLAGS . Nếu không, bạn có thể cần phải sử dụng một số thuộc tính cppFlags trong tệp build.gradle của bạn.

2 Answers


eyal 06/11/2016.

Tôi đã xây dựng lại dự án của mình và sử dụng C ++ 11 thay vì ToolChain Default trong trang Customize C ++ Support. Tôi nghĩ đó là một cách bẩn thỉu để giải quyết vấn đề này.

1 comments
Alex Cohn 30/07/2017
Có thể 'ToolChain Default' không phải là cách hoàn hảo để trình bày một trong những lựa chọn, nhưng đây là cách sạch sẽ để giải quyết vấn đề này. C ++ có khác nhau không chính xác tương thích 'chế độ', ví dụ như C ++ 11 và C ++ 13, và đó là trách nhiệm của bạn để lựa chọn phương ngữ thích hợp.

eyal 07/11/2016.

Trong ứng dụng xây dựng gradle dưới android -> defaultConfig bạn có thể thêm / thay đổi sau đây

externalNativeBuild {
        cmake {
            cppFlags "-std=c++11"
        }
    } 

Related questions

Hot questions

Language

Popular Tags