"-fpermissive"및 "include"는 Linux C 컴파일러에서 작동하지 않습니다.

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

Jenkins를 사용하여 큰 프로젝트를 통합했습니다.

창문에 jenkins 프로젝트를 빌드하면 빌드가 성공적입니다.

하지만, 리눅스 메신저에서 jenkins에서 같은 프로젝트를 빌드하면 빌드가 실패합니다.

다음과 같이 많은 오류가 발생합니다.

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

파일 이름에 문제가 있습니다.

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                                           ^ 

파일의 이름은 다음과 같습니다. Iprs_audio_defs.h (대문자)

Windows에서 편지의 차이는 중요하지 않지만, 리눅스에서는이 오류가 발생합니다. 큰 프로젝트이기 때문에 파일의 이름을 바꿀 수 없으며 책임은 젠킨스입니다.

어떤 도움이 필요합니까?

4 Comments
Downvoter 07/30/2017
"Windows에서 편지의 차이는 중요하지 않습니다."정확히 어떤 글자의 차이점입니까? 또한 Windows와 Linux에서 컴파일러는 각각 무엇입니까?
Michael 07/30/2017
"이 프로젝트는 큰 프로젝트이고 책임은 젠킨스 (Jenkins)이기 때문에 파일의 이름을 바꿀 수 없습니다." 그래서 개발자들에게 수정 해달라고 말하십시오.
ShiraOzeri 07/30/2017
답변을 주셔서 감사합니다. @Downvoter 내 리눅스 (centOS)에서 이것을 확인하고 내 컴파일러는 다음과 같습니다 : gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11). 그러나 윈도우에서는 컴파일러가 무엇인지 알지 못합니다. 나는 이것에 대한 대답을 확인하지만 didnt 발견 .. AC 파일과 안드로이드 스튜디오에서 프로젝트지만, 또한 내 coputer에 대한 시각 스튜디오 2015 있습니다. 혼란을 드려 죄송합니다..
Jonathan Leffler 07/30/2017
Windows는 대소 문자를 구별하지 않는 파일 시스템을 가지고 있습니다 (그래서 macOS도 마찬가지입니다). Linux에는 대소 문자를 구분하는 파일 시스템이 있습니다. 리눅스에서 헤더의 경로 철자를 정확히 써야하지만 Windows에서는 엉성함을 느낄 수 있습니다.

1 Answers


Dan Albert 08/10/2017.

큰 프로젝트이기 때문에 파일의 이름을 바꿀 수 없으며 책임은 젠킨스입니다.

불행히도 이것이 유일한 옵션입니다. Linux는 대소 문자를 구분합니다.

4 comments
ShiraOzeri 08/30/2017
고마워요, 더 이상 차이가 있습니까? 어쩌면 NULL로? 나는 글자를 고쳤다. 그러나 그것은 여전히 ​​리눅스에서만이 아니라 윈도우에서 실행된다.
Dan Albert 08/30/2017
NULL 이 파일이 아닙니다. C / C ++는 이미 대소 문자를 구분합니다. 파일 이름의 대소 문자가 구분됩니다.
ShiraOzeri 08/31/2017
그러나 대소 문자를 수정 한 후에도 빌드가 떨어집니다. 심지어 Windows 시스템에서 동일한 프로젝트를 빌드하면 성공합니다. 그러나 Linux 머신 (centOS)은 실패했습니다.) 코드가 컴파일 된 후 프로젝트에서 테스트를 실행 한 다음 실패합니다. 오류 : 테스트를 완료하지 못했습니다. 이유 : 'java.lang.IllegalArgumentException'으로 인해 계측 실행에 실패했습니다.
Dan Albert 08/31/2017
다른 문제와 같고 NDK와 관련이없는 것 같습니다. 당신은 아마 그 문제에 대한 새로운 질문을하고 싶지만 그 오류에 대한 빠른 구글 검색은 다음을 찾는다 : stackoverflow.com/questions/22085760/...

Related questions

Hot questions

Language

Popular Tags