"-permisif" dan "termasuk" tidak berfungsi di kompiler linux c

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

Saya menggunakan Jenkins untuk mengintegrasikan proyek besar.

Ketika saya membangun proyek di Jenkins di windows meachine, build berhasil.

Tapi, ketika saya membangun proyek yang sama di jenkins di linux meachine, build gagal.

Saya mendapatkan banyak kesalahan, seperti ini:

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

dan masalah dengan nama file:

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                                           ^ 

Nama file adalah: Iprs_audio_defs.h (huruf besar)

Di windows perbedaan antara huruf tidak masalah, tetapi di linux saya mendapat kesalahan ini. Saya tidak dapat mengganti nama file karena ini adalah proyek besar dan tanggung jawab saya hanyalah Jenkins

Ada bantuan?

4 Comments
Downvoter 07/30/2017
"Di windows perbedaan antara huruf tidak penting" Perbedaan antara huruf mana tepatnya? Juga, apa kompiler Anda di Windows dan Linux, masing-masing?
Michael 07/30/2017
"Saya tidak dapat mengganti nama file karena ini adalah proyek besar dan tanggung jawab saya hanya Jenkins" Jadi beri tahu pengembang untuk memperbaikinya.
ShiraOzeri 07/30/2017
terima kasih banyak untuk jawabannya! @Downvoter Saya memeriksa ini di linux saya (centOS) dan kompiler saya adalah: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11). Tetapi di windows saya tidak tahu apa yang merupakan compiler saya. saya memeriksa jawaban untuk ini tetapi tidak ditemukan .. proyek di Android Studio dengan file ac, tetapi saya juga memiliki visual studio 2015 di coputer saya. Maaf bila membingungkan..
Jonathan Leffler 07/30/2017
Windows memiliki sistem file case-insensitive (begitu juga macOS); Linux memiliki sistem file case-sensitive. Anda harus mengeja path untuk header secara akurat di Linux sedangkan Anda bisa ceroboh di Windows.

1 Answers


Dan Albert 08/10/2017.

Saya tidak dapat mengganti nama file karena ini adalah proyek besar dan tanggung jawab saya hanyalah Jenkins

Sayangnya ini adalah satu-satunya pilihan. Linux bersifat case-sensitive.

4 comments
ShiraOzeri 08/30/2017
Terima kasih, apakah ada perbedaan lagi? Mungkin dengan NULL? Saya memperbaiki surat-surat ... tetapi masih berjalan hanya di Windows dan tidak di Linux
Dan Albert 08/30/2017
NULL bukan file. C / C ++ sudah sensitif huruf. Sensitivitas huruf dari nama file adalah perbedaannya.
ShiraOzeri 08/31/2017
Tapi, bahkan setelah saya mengoreksi kasus sensitif, membangun jatuh. bahkan ketika saya membangun proyek yang sama di mesin Windows, itu berhasil. Tetapi dengan mesin Linux (centOS) gagal.). Kode ini dikompilasi, kemudian mulai menjalankan tes dari proyek dan kemudian jatuh. kesalahan: Tes gagal dijalankan hingga selesai. Alasan: 'Pelaksanaan instrumentasi gagal karena' java.lang.IllegalArgumentException '
Dan Albert 08/31/2017
Kedengarannya seperti masalah yang berbeda, dan yang tidak terkait NDK. Anda mungkin ingin mengajukan pertanyaan baru untuk masalah itu, tetapi pencarian google cepat untuk menemukan kesalahan: stackoverflow.com/questions/22085760/…

Related questions

Hot questions

Language

Popular Tags