"-απελευθερωτικό" και "include" dont εργάζονται στον compiler linux c

ShiraOzeri 07/30/2017. 1 answers, 44 views
android android c linux jenkins android-ndk android-ndk

Χρησιμοποιώ Jenkins για να Integretion ένα μεγάλο έργο.

Όταν κάνω την κατασκευή του έργου σε jenkins στα windows meachine, η κατασκευή είναι επιτυχής.

Αλλά, όταν κάνω το ίδιο έργο σε jenkins στο linux meachine, η κατασκευή απέτυχε.

Έχω πολύ λάθος, όπως αυτό:

cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C 

και πρόβλημα με το όνομα του αρχείου:

In file included from /var/lib/jenkins/workspace/mt-android-sdk-new/library/src/main/cpp/iprs_audio/iprs_audio_funcs.h:10:0,
                   from /var/lib/jenkins/workspace/mt-android-sdk-new/library/src/main/cpp/iprs_audio/iprs_audio_funcs.c:7:
  /var/lib/jenkins/workspace/mt-android-sdk-new/library/src/main/cpp/./iprs_audio/iprs_audio.h:15:40: fatal error: iprs_audio/iprs_audio_defs.h: No such file or directory
   #include                                           ^ 

Το όνομα του αρχείου είναι: Iprs_audio_defs.h (κεφαλαίο γράμμα)

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

Οποιαδήποτε βοήθεια;

4 Comments
Downvoter 07/30/2017
"Στα παράθυρα η διαφορά μεταξύ των γραμμάτων δεν έχει σημασία" Η διαφορά μεταξύ των οποίων γράμματα ακριβώς; Επίσης, ποιες είναι οι μεταγλωττιστές σας στα Windows και το Linux, αντίστοιχα;
Michael 07/30/2017
"Δεν μπορώ να μετονομάσω τα αρχεία επειδή αυτό είναι ένα μεγάλο έργο και η ευθύνη μου είναι μόνο Jenkins" Έτσι πείτε στους προγραμματιστές να το διορθώσουν.
ShiraOzeri 07/30/2017
ευχαριστώ πολύ για την απάντηση! @Downvoter Ελέγξτε αυτό στο linux μου (centOS) και ο μεταγλωττιστής μου είναι: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11). Αλλά στα παράθυρα δεν ξέρω τι είναι ο μεταγλωττιστής μου. ελέγχω την απάντηση για αυτό, αλλά didnt βρήκα .. το έργο για το Android Studio με το αρχείο ac, αλλά έχω επίσης οπτικό στούντιο 2015 στο coputer μου. Συγγνώμη για την αναστάτωση..
Jonathan Leffler 07/30/2017
Τα Windows έχουν ένα σύστημα αρχείων που δεν ανήκει στις πεζές-αρχεία (το κάνει και το macOS). Το Linux έχει ένα σύστημα αρχείων ευαίσθητο σε πεζά. Πρέπει να γράψετε με ακρίβεια τη διαδρομή για την κεφαλίδα στο Linux, ενώ μπορείτε να είστε απρεπείς στα Windows.

1 Answers


Dan Albert 08/10/2017.

Δεν μπορώ να μετονομάσω τα αρχεία γιατί αυτό είναι ένα μεγάλο έργο και η δική μου ευθύνη είναι μόνο Jenkins

Δυστυχώς, αυτή είναι η μόνη επιλογή. Το Linux κάνει διάκριση πεζών-κεφαλαίων.

4 comments
ShiraOzeri 08/30/2017
Ευχαριστίες, υπάρχουν περισσότερες διαφορές; Ίσως με NULL; Έκανα τα γράμματα ... αλλά εξακολουθεί να τρέχει μόνο στα Windows και όχι στο Linux
Dan Albert 08/30/2017
NULL δεν είναι αρχείο. Η C / C ++ έχει ήδη ευαίσθητη διάκριση. Η ευαισθησία των αρχείων είναι η διαφορά.
ShiraOzeri 08/31/2017
Αλλά, ακόμα και αφού έχω διορθώσει την ευαίσθητη περίπτωση, η κατασκευή πέφτει. ακόμη και όταν κατασκευάζω το ίδιο έργο με το μηχάνημα των Windows, είναι επιτυχές. Αλλά με το μηχάνημα Linux (centOS) απέτυχε.). Ο κώδικας έχει συνταχθεί, τότε αρχίζει να εκτελεί τις δοκιμές από το έργο και στη συνέχεια πέφτει. το σφάλμα: Η δοκιμή απέτυχε να ολοκληρωθεί. Αιτία: 'Ο έλεγχος οργάνων απέτυχε λόγω του' java.lang.IllegalArgumentException '
Dan Albert 08/31/2017
Ακούγεται σαν ένα διαφορετικό ζήτημα και αυτό που δεν σχετίζεται με το NDK. Θα θελήσετε πιθανότατα να θέσετε μια νέα ερώτηση για αυτό το ζήτημα, αλλά μια γρήγορη αναζήτηση στο google για αυτό το σφάλμα βρίσκει: stackoverflow.com/questions/22085760/...

Related questions

Hot questions

Language

Popular Tags