"-fpermissive" och "include" fungerar inte i linux c compiler

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

Jag använder Jenkins till Integretion ett stort projekt.

När jag bygger projektet i jenkins på Windows Meachine, bygger framgången.

Men när jag bygger samma projekt i jenkins på Linux meachine misslyckades byggnaden.

Jag får mycket fel, så här:

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

och problem med namnet 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                                           ^ 

Namnet på filen är: Iprs_audio_defs.h (stor bokstav)

I Windows skiljer skillnaden mellan bokstäver inte, men i Linux fick jag det här felet. Jag kan inte byta namn på filerna eftersom det här är ett stort projekt och mitt ansvar är bara Jenkins

Någon hjälp?

4 Comments
Downvoter 07/30/2017
"I Windows skiljer skillnaden mellan bokstäver inte" Skillnaden mellan vilka bokstäver exakt? Vilka är dina kompilatorer på Windows respektive Linux?
Michael 07/30/2017
"Jag kan inte byta namn på filerna eftersom det här är ett stort projekt och mitt ansvar är bara Jenkins" Så säg utvecklarna att fixa det.
ShiraOzeri 07/30/2017
tack så mycket för svaret! @Downvoter Jag kontrollerar detta i min linux (centOS) och min kompilator är: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11) .but i windows vet jag inte vad som är min kompilator. Jag kontrollerar svaret för detta men hittade inte .. projektet på Android Studio med AC-fil, men jag har också visuell studio 2015 på min coputer. Ledsen för förvirringen..
Jonathan Leffler 07/30/2017
Windows har ett obestridligt filsystem (det gör även macOS); Linux har ett skiftlägeskänsligt filsystem. Du måste stava sökvägen korrekt på Linux medan du kan vara slarvig på Windows.

1 Answers


Dan Albert 08/10/2017.

Jag kan inte byta namn på filerna eftersom det här är ett stort projekt och mitt ansvar är bara Jenkins

Tyvärr är detta det enda alternativet. Linux är skiftlägeskänslig.

4 comments
ShiraOzeri 08/30/2017
Tack, finns det fler skillnader? Kanske med NULL? Jag fixade bokstäverna ... men det kör fortfarande bara på Windows och inte på Linux
Dan Albert 08/30/2017
NULL är inte en fil. C / C ++ är redan skiftlägeskänslig. Fallkänslighet för filnamn är skillnaden.
ShiraOzeri 08/31/2017
Men även efter att jag har korrigerat fallkänsliga faller byggnaden. även om jag bygger samma projekt på Windows-maskin är det lyckat. Men med Linux-maskinen (centOS) misslyckades.) Koden sammanställs, sedan börjar testen från projektet och faller sedan. felet: Test misslyckades att köra till slutförandet. Orsak: "Instrumentation kör misslyckades på grund av" java.lang.IllegalArgumentException "
Dan Albert 08/31/2017
Låter som en annan fråga, och en som inte är relaterad till NDK. Du kommer noga att fråga en ny fråga för det problemet, men en snabb google-sökning efter det här felet finner: stackoverflow.com/questions/22085760/...

Related questions

Hot questions

Language

Popular Tags