"-fpermissive" at "isama" dont trabaho sa linux c compiler

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

Ginagamit ko ang Jenkins sa Integretion isang malaking proyekto.

Kapag ako ay nagtatayo ng proyekto sa jenkins sa mga bintana ng meachine, matagumpay ang build.

Ngunit, kapag ako ay nagtatayo ng parehong proyekto sa jenkins sa linux meachine, nabigo ang build.

Nakakuha ako ng maraming error, tulad nito:

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

at problema sa pangalan ng 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                                           ^ 

Ang pangalan ng file ay: Iprs_audio_defs.h (capital letter)

Sa mga bintana ang pagkakaiba sa pagitan ng mga titik ay hindi mahalaga, ngunit sa linux nakuha ko ang error na ito. Hindi ko mababago ang pangalan ng mga file dahil ito ay isang malaking proyekto at ang aking responsibilidad ay si Jenkins lamang

Anumang tulong?

4 Comments
Downvoter 07/30/2017
"Sa mga bintana ang pagkakaiba sa pagitan ng mga titik ay hindi mahalaga" Ang pagkakaiba sa pagitan ng mga eksaktong titik? Gayundin, ano ang iyong mga compiler sa Windows at Linux, ayon sa pagkakabanggit?
Michael 07/30/2017
"Hindi ko mababago ang pangalan ng mga file dahil ito ay isang malaking proyekto at ang aking responsibilidad ay si Jenkins" Kaya sabihin sa mga developer na ayusin ito.
ShiraOzeri 07/30/2017
salamat maraming para sa sagot! @Downvoter ko bang suriin ito sa aking linux (centOS) at ang aking compiler ay: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11). Ngunit sa mga bintana ako dont malaman kung ano ang aking compiler. i-tsek ang sagot para sa ito ngunit hindi nakita .. ang proyekto sa Android Studio na may ac file, ngunit mayroon din akong visual studio 2015 sa aking coputer. Paumanhin para sa pagkalito ..
Jonathan Leffler 07/30/2017
Ang Windows ay may isang case-insensitive na sistema ng file (kaya ang macOS); May isang case-sensitive file system ang Linux. Kailangan mong i-spell ang path para sa header ng tumpak sa Linux habang maaari kang maging nanggaling sa Windows.

1 Answers


Dan Albert 08/10/2017.

Hindi ko mababago ang pangalan ng mga file dahil ito ay isang malaking proyekto at ang aking responsibilidad ay si Jenkins lamang

Sa kasamaang palad ito ang tanging pagpipilian. Ang Linux ay sensitibo sa kaso.

4 comments
ShiraOzeri 08/30/2017
Salamat, mayroon pa bang mga pagkakaiba? Siguro may null? Naayos ko ang mga titik ... ngunit tumatakbo pa rin ito sa Windows at hindi sa Linux
Dan Albert 08/30/2017
NULL ay hindi isang file. Ang C / C ++ ay sensitibo sa kaso. Ang pagiging sensitibo sa kaso ng mga filename ay ang pagkakaiba.
ShiraOzeri 08/31/2017
Ngunit, kahit na naitama ko ang kaso na sensitibo, ang pagtatayo ay bumagsak. kahit na kapag bumuo ako ng parehong proyekto sa Windows machine, ito ay matagumpay. Ngunit may nabigo ang makina ng Linux (centOS).) Ang code ay naipon, pagkatapos ay nagsisimula na tumakbo ang mga pagsubok mula sa proyekto at pagkatapos ay bumaba. ang error: Nabigo ang pagpapatakbo upang makumpleto. Dahilan: 'Nabigo ang paggamit ng instrumento dahil sa' java.lang.IllegalArgumentException '
Dan Albert 08/31/2017
Tunog tulad ng ibang isyu, at ang isa na hindi nauugnay sa NDK. Marahil ay nais mong hilingin sa isang bagong tanong para sa isyu na iyon, ngunit isang mabilis na paghahanap sa google para sa error na nahanap na: stackoverflow.com/questions/22085760/...

Related questions

Hot questions

Language

Popular Tags