"-fprissive" i "include" nie działają w kompilatorze linux c

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

Używam Jenkinsa do Integretion, dużego projektu.

Kiedy buduję projekt w jenkins na windows meachine, kompilacja jest udana.

Ale kiedy budowałem ten sam projekt w dżinsach na maszynie linuxowej, kompilacja nie powiodła się.

Dostaję wiele błędów, takich jak to:

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

i problem z nazwą pliku:

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                                           ^ 

Nazwa tego pliku to: Iprs_audio_defs.h (wielka litera)

W Windows różnica między literami nie ma znaczenia, ale w Linuksie dostałem ten błąd. Nie mogę zmienić nazwy plików, ponieważ jest to duży projekt, a moją odpowiedzialnością jest właśnie Jenkins

Jakaś pomoc?

4 Comments
Downvoter 07/30/2017
"W oknach różnica między literami nie ma znaczenia" Różnica między którymi dokładnie literami? Jakie są twoje kompilatory w systemach Windows i Linux?
Michael 07/30/2017
"Nie mogę zmienić nazwy plików, ponieważ jest to duży projekt, a moją odpowiedzialnością jest tylko Jenkins". Powiedz deweloperom, żeby to naprawili.
ShiraOzeri 07/30/2017
bardzo dziękuję za odpowiedź! @Downvoter Sprawdzam to w moim linuxie (centOS), a mój kompilator to: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11)., Ale w systemie Windows nie wiem, jaki jest mój kompilator. Sprawdzam odpowiedź, ale nie znalazłem ... projektu w Android Studio z plikiem ac, ale mam też studio graficzne 2015 na moim komputerze. Przepraszam za zamieszanie..
Jonathan Leffler 07/30/2017
System Windows ma system plików niewrażliwy na wielkość liter (podobnie jak MacOS); Linux ma system plików wrażliwy na wielkość liter. Musisz dokładnie przeliterować ścieżkę nagłówka w systemie Linux, podczas gdy możesz być niechlujny w systemie Windows.

1 Answers


Dan Albert 08/10/2017.

Nie mogę zmienić nazwy plików, ponieważ jest to duży projekt, a moją odpowiedzialnością jest właśnie Jenkins

Niestety jest to jedyna opcja. W systemie Linux rozróżniana jest wielkość liter.

4 comments
ShiraOzeri 08/30/2017
Dzięki, czy są jakieś różnice? Może z NULL? Naprawiłem litery ... ale nadal działa tylko w systemie Windows, a nie w Linuksie
Dan Albert 08/30/2017
NULL nie jest plikiem. C / C ++ są już wrażliwe na wielkość liter. Rozróżnia się wielkość liter w nazwach plików.
ShiraOzeri 08/31/2017
Ale nawet po tym, jak poprawiłem wielkość liter, kompozycja spada. nawet jeśli buduję ten sam projekt na komputerze z systemem Windows, to się uda. Ale w przypadku komputera z systemem Linux (centOS) nie powiodło się.) Kod został skompilowany, a następnie uruchamia testy z projektu, a następnie upada. błąd: test nie powiódł się do zakończenia. Powód: "Uruchomienie oprzyrządowania nie powiodło się z powodu" java.lang.IllegalArgumentException "
Dan Albert 08/31/2017
Brzmi jak inny problem i taki, który nie jest związany z NDK. Prawdopodobnie będziesz chciał zadać nowe pytanie dotyczące tego problemu, ale szybkie wyszukiwanie google powoduje znalezienie: stackoverflow.com/questions/22085760/...

Related questions

Hot questions

Language

Popular Tags