Ενεργοποιήστε τη βελτιστοποίηση του μεταγλωττιστή για τη δημιουργία αποσφαλμάτωσης του Android Studio μέσω του Cmake

Bram 07/26/2017. 1 answers, 75 views
android-studio android-studio android-ndk android-ndk cmake

Χρησιμοποιώ το Android Studio 3.0 για την εφαρμογή μου που βασίζεται στο NDK. Για τον κώδικα C ++, χρησιμοποιώ CMake ως εξωτερικό κατασκευαστή .

Αυτό λειτουργεί καλά, μπορώ να δημιουργήσω εντολές αποσφαλμάτωσης και απελευθέρωσης.

Ωστόσο, θα ήθελα να ενεργοποιήσω τις βελτιστοποιήσεις του μεταγλωττιστή (για παράδειγμα -O3) για ένα μέρος του κώδικα C ++ (μηχανή φυσικής), όχι μόνο για την έκδοση έκδοσης, αλλά και για τη δημιουργία εντοπισμού σφαλμάτων.

Δημιουργήστε λοιπόν το κύριο μέρος της δημιουργίας εντοπισμού σφαλμάτων όπως είναι, χωρίς να βελτιστοποιήσετε, ωστόσο, θέλω να δημιουργηθεί ένας από τους στατικούς στόχους βιβλιοθήκης με ενεργοποιημένη τη βελτιστοποίηση του μεταγλωττιστή.

Πώς μπορώ να κάνω κάτι τέτοιο;

Έχω ένα CMakeLists για έναν στατικό στόχο βιβλιοθήκης που συμπεριλαμβάνεται χρησιμοποιώντας την οδηγία add_subdirectory () στο αρχείο CMAMELists κορυφαίου επιπέδου.

Σημειώστε ότι στο CMakeLists κορυφαίου επιπέδου στο αρχείο build.gradle της εφαρμογής μου, όπως παρακάτω:

externalNativeBuild {
    cmake {
        path '../../Android/jni/CMakeLists.txt'
    }
} 

1 Answers


Bram 07/26/2017.

Αποδεικνύεται ότι μπορείτε να χρησιμοποιήσετε τη μακροεντολή target_compile_options () στο CMakeLists.txt με μια προδιαγραφή config όπως αυτή:

target_compile_options(opende PRIVATE
"$<$:-O3>"
"$<$:-O3>"
) 

Αυτή η μακροεντολή προσθέτει στις υπάρχουσες επιλογές συμπλήρωσης.

Related questions

Hot questions

Language

Popular Tags