"-fpermissive" og "include" fungerer ikke i linux c compiler

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

Jeg bruker Jenkins til Integretion et stort prosjekt.

Når jeg bygger prosjektet i jenkins på windows meachine, bygger suksessen.

Men når jeg bygger det samme prosjektet i jenkins på Linux meachine, mislyktes bygningen.

Jeg får mye feil, slik:

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

og problem med navnet på filen:

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                                           ^ 

Navnet på filen er: Iprs_audio_defs.h (hovedbokstav)

I Windows betyr forskjellen mellom bokstaver ikke noe, men i Linux fikk jeg denne feilen. Jeg kan ikke omdøpe filene fordi dette er et stort prosjekt, og mitt ansvar er bare Jenkins

Noe hjelp?

4 Comments
Downvoter 07/30/2017
"I Windows betyr forskjellen mellom bokstavene ingen rolle" Forskjellen mellom hvilke bokstaver nøyaktig? Også, hva er dine kompilatorer på henholdsvis Windows og Linux?
Michael 07/30/2017
"Jeg kan ikke omdøpe filene fordi dette er et stort prosjekt og mitt ansvar er bare Jenkins" Så fortell utviklerne å fikse det.
ShiraOzeri 07/30/2017
tusen takk for svaret! @Downvoter Jeg sjekker dette i min Linux (centOS) og min kompilator er: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11) .men i windows jeg vet ikke hva som er min kompilator. Jeg sjekker svaret på dette, men fant ikke .. prosjektet på Android Studio med AC-fil, men jeg har også visuell studio 2015 på min coputer. Beklager misforståelsen..
Jonathan Leffler 07/30/2017
Windows har et uønsket filsystem (det gjør også macOS); Linux har et saksensitivt filsystem. Du må stave banen for overskriften nøyaktig på Linux, mens du kan være slurvet på Windows.

1 Answers


Dan Albert 08/10/2017.

Jeg kan ikke omdøpe filene fordi dette er et stort prosjekt, og mitt ansvar er bare Jenkins

Dessverre er dette det eneste alternativet. Linux er bokstavsfølsomt.

4 comments
ShiraOzeri 08/30/2017
Takk, er det flere forskjeller? Kanskje med NULL? Jeg leste bokstavene ... men det kjører bare bare på Windows og ikke på Linux
Dan Albert 08/30/2017
NULL er ikke en fil. C / C ++ er allerede saksfølsomt. Saksfølsomhet for filnavn er forskjellen.
ShiraOzeri 08/31/2017
Men selv etter at jeg har korrigert saksfølsomt faller bygningen. selv når jeg bygger det samme prosjektet på Windows-maskinen, er det vellykket. Men med Linux-maskinen (centOS) mislyktes.). Koden er kompilert, og begynner deretter å kjøre testene fra prosjektet og deretter faller. feilen: Testen klarte ikke å løpe til slutt. Årsak: 'Instrumentasjonstrykk mislyktes på grunn av' java.lang.IllegalArgumentException '
Dan Albert 08/31/2017
Høres ut som et annet problem, og en som ikke er NDK-relatert. Du vil sikkert ønske å stille et nytt spørsmål for det problemet, men et raskt google-søk etter den aktuelle feilen finner du: stackoverflow.com/questions/22085760/...

Related questions

Hot questions

Language

Popular Tags