"-fpermissive" dan "include" dont berfungsi dalam compiler c linux

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

Saya menggunakan Jenkins untuk Integretion sebuah projek besar.

Apabila saya membina projek di jenkins pada jendela meachine, membina berjaya.

Tetapi, apabila saya membina projek yang sama di jenkins pada meachine linux, binaan itu gagal.

Saya mendapat banyak kesilapan, seperti ini:

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

dan masalah dengan nama fail:

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 fail ialah: Iprs_audio_defs.h (huruf besar)

Di tingkap perbezaan antara huruf tidak penting, tetapi dalam linux saya mendapat ralat ini. Saya tidak dapat mengubah nama fail kerana ini adalah projek besar dan tanggungjawab saya hanya Jenkins

Sebarang bantuan?

4 Comments
Downvoter 07/30/2017
"Di tingkap perbezaan antara huruf tidak penting" Perbezaan di antara huruf mana sebenarnya? Juga, apakah pengompil anda pada Windows dan Linux, masing-masing?
Michael 07/30/2017
"Saya tidak boleh mengubah nama fail kerana ini adalah projek besar dan tanggungjawab saya hanya Jenkins" Jadi beritahu para pemaju untuk memperbaikinya.
ShiraOzeri 07/30/2017
terima kasih banyak untuk jawapannya! @Downvoter Saya periksa ini di linux saya (centOS) dan compiler saya ialah: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11). Tetapi di tingkap saya tidak tahu apa yang pengkompil saya. saya periksa jawapan untuk ini tetapi tidak dijumpai .. projek di Android Studio dengan fail ac, tetapi saya juga mempunyai visual studio 2015 di coputer saya. Maaf untuk kekeliruan ..
Jonathan Leffler 07/30/2017
Windows mempunyai sistem fail kesensitif (begitu juga macOS); Linux mempunyai sistem fail sensitif kes. Anda perlu mengeja laluan untuk tajuk tepat pada Linux sedangkan anda boleh menjadi ceroboh pada Windows.

1 Answers


Dan Albert 08/10/2017.

Saya tidak dapat mengubah nama fail kerana ini adalah projek besar dan tanggungjawab saya hanya Jenkins

Malangnya ini adalah satu-satunya pilihan. Linux adalah sensitif kes.

4 comments
ShiraOzeri 08/30/2017
Terima kasih, apakah terdapat perbezaan lagi? Mungkin dengan NULL? Saya menetapkan huruf ... tetapi ia masih berjalan pada Windows dan bukan pada Linux
Dan Albert 08/30/2017
NULL bukan fail. C / C ++ sudahpun sensitif kes. Sensitiviti kes nama fail adalah perbezaan.
ShiraOzeri 08/31/2017
Tetapi, walaupun saya telah membetulkan kes yang sensitif, binaan itu jatuh. walaupun apabila saya membina projek yang sama pada mesin Windows, ia berjaya. Tetapi dengan mesin Linux (centOS) gagal.). Kod itu disusun, kemudian mula menjalankan ujian dari projek dan kemudian jatuh. ralat: Ujian gagal dijalankan sehingga selesai. Sebab: 'Run instrumen gagal kerana' java.lang.IllegalArgumentException '
Dan Albert 08/31/2017
Bunyi seperti isu yang berbeza, dan yang tidak berkaitan dengan NDK. Anda mungkin ingin bertanya soalan baru untuk masalah itu, tetapi carian google cepat untuk kesilapan itu mendapati: stackoverflow.com/questions/22085760/...

Related questions

Hot questions

Language

Popular Tags